teleren/devto huggingface dataset:
Week 1: In a Coding Bootcamp - My experience!
Tags: javascript, python, django, webdev
Published: 2022-02-27 10:21:28

Sometime ago I announced here that I had been awarded a full scholarship to join a software development Bootcamp. So the Bootcamp started last week with an orientation and onboarding sessions. And the real lessons started this week on Monday. 

My first week experience has been good and exciting since we have been covering Html, css, bootstrap, Git, and Linux - Ubuntu. I have a good background with these topics apart from Ubuntu. I have been using windows but the Bootcamp instructions are based on Linux so everybody was required to install and learn how to use it. 

A while ago I had started the 100daysofcode challenge, but on the way I lost track of the days, but now with this new chapter in my career, I will document my weekly experience here for the next 6month until the Bootcamp is over. 

## New things learned

1. Using Ubuntu terminal and command line to create, delete,move, rename, etc stuff.
2. Git branches, github pages, writing a readme file. I was already using git but I haven't used these command before. 
3. Weekly independent projects - this week our project involved developing my portfolio landing page using html and css. I just finished mine, I will post the site here after the TM has graded it. 

See you next Sunday with an update of what I learned on my week 2. 

### Most insightful thing learned.
How to write meaningful git commit messages. 
So your commit message should be in present tense and, as a rule of thumb, they should complete the phrase "This commit will.....".
Eg. This commit will add an index.html page".
AWS Instance metadata service(IMDS)
Tags: aws, ec2
Published: 2022-02-27 10:15:20

Instance metadata service(IMDS) exposes three categories of data using **linked-local address 169.254.169.254**
1. dynamic
2. meta-data
3. user-data

**dynamic data** exposes instance identity in plaintext JSON format.This gets attached to it whenever instance is either stopped and started, restarted or launched. It is recommended to verify the identity document retrieved from IMDS url.PlainText instance identity document is accompanied by 3 hashed and encrypted signatures.These signatures can be used to verify the origin and authenticity of the instance identity document.AWS releases the regional public certificates. Depending on the region it is mandatory for users to use correct public certificate during verification.Contents of instance-identity document cosnists of details such as imageId, instanceId and privateIp associated with instance.


**meta-data** exposes the information about the running instance that can be used during automation.If AWS releases new category of the meta-data then it may not be readily available on the running instance.The most sensitive information available in the meta-data is the identity-credentials.STS token that is assigned to instance can be found here and can become a tool for exploitation.

**user-data** are set of commands that are entered during instance launch time to perform configuration activities.These commands are run with root privileges and it is a best practice to not enter any sensitive information such as credentials in the user data sections as it is available in plain text format.

**Introduction of IMDSv2**
AWS have released v2 of IMDS to fix the security issues related to original service. Unlike v1 , IMDSv2 requires users to provide additional session token while invoking IMDS url. Also as per default settings of IMDSv2 TTL is set
to 1 which means response from IMDS is now valid only till single hop or local instance.This protects users from accidentally exposing IMDS endpoints via misconfigured reverse-proxies.
A priceless gift: feedback
Tags: awesomitylab, codeofafrica, career
Published: 2022-02-27 09:59:42

Listening may appear to be a simple act, but it is frequently more complicated and crucial than many people believe.

Effective communication allows us to gain a deeper understanding of people and situations. Effective communication skills are essential for building a successful career.
Thanks to Mr. Hans, who showed us that feedbacks are gifts rather than threats, despite the fact that many people perceive them as such. He said that they should be one of the ways to help colleagues improve and progress in their area, as well as as human beings.  



![folders](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ylb6t1tlhfmp38q4q6bu.jpg)
Before Git, a well-known version control system, there was no such thing as version control system (VCS), therefore developers had to carry their source codes around on hard drives or other storage devices and distribute them over email, which was difficult, stressful, and insecure.


![git logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iinu1psxnlpgmko83s8c.png)
Git effectively takes a snapshot of all your files at the time and preserves a reference to it, which is used to maintain the source code of software projects by a huge number of start-ups, collectives, and multinationals around the world, including Google and Microsoft.

When working on personal projects, it is not difficult for a newbie with a Linux background to understand Git.
The most serious issues come while working as a team on shared repositories while keeping each individual's contribution distinct.
Thanks to Mr. Yannick, CTO at Awesomity Lab, I expanded my understanding of git on a shared repo while working on pull requests for code acceptance, several product releases, and outstanding product documentation.

![devops diagram](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5eod51rqlf4f49irnf2r.png)
In a competitive business environment with increasing client demands, companies aim to quickly offer reliable software products to the market, as well as continuously improve them, which is one of the reasons they use DevOps services and apply DevOps for project development. 

![devops activities](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wftefzr50hk4tm1duo8.jpeg)
DevOps attempts to improve software development, testing, deployment, administration, and maintenance processes by streamlining, speeding them up, and increasing predictability, scalability, flexibility, and website security.
Understanding pipelines and being able to automate code integrations, as well as establishing pipelines for the deployment of software systems, is tough for a developer at first, but once they comprehend the notion, it takes a significant burden off their shoulders.

On the whole, standards for following during the development of a software project should be created ahead of time. To make it easier to maintain or add new features to software, it should include clear and easy-to-understand documentation.
To API or not to API... Svelte and InertiaJS (Laravel / PHP)
Tags: svelte, inertiajs, laravel, fullstack
Published: 2022-02-27 09:57:41

In the last months I experimented with SvelteKit and GraphQL. For example I connected a SvelteKit frontend with WordPress (WPGraphQL plugin), ran a quick test run with Laravel Lighthouse, used Supabase, Strapi and Directus for small demos. While all these approaches have their individual strengths, I always felt like "Couldn't this be simpler for smaller projects?". Especially for solo developers or sideprojects setting up and managing the API-backend can be complex (or pricy). 

Therefore I was really amazed to stumble about Inertia  recently, a glue between Laravel (PHP) and Modern JS Frontend Frameworks (React, Vue, Svelte). One of the creators, Jonathan Reinink, explains here why he created it (24:55):

{% youtube https://www.youtube.com/watch?v=rg-eZBw50KI&list=WL&index=1&t=1486s %}

So InertiaJS offers a solution for the painpoint of having to manage a backend api project and a frontend project  separately. And it supports Svelte - awesome! 

I was first scared off by the tagline "The modern monolith", because I thought it was meant to be for bigger teams or in enterprise environments. But this was a misconception:

> Inertia was designed for development teams who typically build server-side rendered applications using frameworks like Laravel, Ruby on Rails or Django. They create controllers, get data from the database (via an ORM), and render views.

> But what happens when these developers want to replace their server-side rendered views with a modern JavaScript-based single-page app front-end? The answer is always "you need to build an API". Because that's how modern SPAs are built.

> This means building a REST or GraphQL API. It means figuring out auth for that API. It means client-side state management. It means setting up a new Git repo. It means setting up another hosting account for the API. And this list goes on. It's a complete paradigm shift.

> Inertia allows you to build a fully JavaScript-based single-page app without all this added complexity.

Source: https://inertiajs.com/who-is-it-for

So currently I set the goal for myself to learn Inertia via https://laracasts.com/series/build-modern-laravel-apps-using-inertia-js and also maybe connect it to [twill cms](https://twill.io/).

Another cool aspect is that Inertia added the Server Side Rendering feature lately (https://inertiajs.com/server-side-rendering), although support for Svelte is still in development. 

(Btw: If you're not into modern javascript frameworks, [Laravel Livewire](https://laravel-livewire.com/) could be interesting for you.)

Let's see how my journey with Inertia works out.

Are you already using Svelte and Inertia in your projects? Let me know in the comments, would love to hear about your experiences! 

Resources:

- https://inertiajs.com/
- https://discord.com/invite/inertiajs
- https://twitter.com/inertiajs
- https://github.com/inertiajs
Can you hear me?
Tags: codeofafrica, awesomity, taskforce5
Published: 2022-02-27 09:54:30

Can you hear me? As I tell my story, what do you get from it? Did you hear my grieve or was it just another show to you? Did my actions tell you anything or stand up comedy is what I can do best?

`If you want something best done, do it yourself - Napoleon Bonaparte`

I feel not heard and it breaks me down but then why not listen to others and ask questions as the person who asks is the person who leads the conversation. Is that the best way to communicate or is it one of the many ways?

Well, effective communication is about both parties understanding each other. It may sound simple but it requires a lot to be a good listener. When you are listening, your brain makes up a lot of ideas and mostly they are empathizing with what you are hearing, seeing and or reading to try help you understand the point like you are trying to understand my point.

Well, to make my point simpler, all I'm trying to say is that Git is a tool used by developers to communicate collaboratively.

![What is Git](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8hmknie6y8tuw97cvflk.jpeg) Well now can I have your attention?

As programmers, our communication is not that fancy as it involves a lot of code and documentations that help to understand the codes.
You might think that `Git` is one of the best innovations done by developers for developers. Well it is and it is not.

It actually uses the same old principles of human communication. As we talk, I pay attention to the message and give feedback, if there is something I don’t understand, then I trace back to what I heard earlier and refer to it. Git bases on this principle to help developers bring their codes together.
![i understand now](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rds1e018hh113rgxr9h4.jpeg)

At the end of the week, as everyone was focused on the technical aspect, Yannick had an idea of bring the teams together on the last minute to do a presentation. After announcing the news, chaos and panic exploded. Every member of the team had a different understanding of the subject but the definition was the same.
![teamwork brainstorming](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wzv217lrkcmb2wejxlq4.jpeg)

As a team, the task was to come up with the same definition to present to others in away that you understand and is simpler for everyone else to understand.
To reach our goal of a unified definition, it required a lot of discussions and listening outside Git.

At the end of the week, I learnt that the best communicator is the best listener as through listening, you communicate.

Can't wait for more codewars and repairing the leaking CI/CD pipeline the broke halfway the road.
Build a Messenger Clone with MERN Stack (MongoDB, Express, React, Node JS) + Socket.io(Demo Video)
Tags: javascript, react, webdev, tutorial
Published: 2022-02-27 09:35:45

In this Facebook Messenger   Clone  Tutorial series, we will learn to build an Awesome Full Stack  Facebook Messenger Project with realtime messaging functionality with socket.io . We have one on one chat as well as group chatting functionality in this app.



{% youtube 6NFHbiqW9Tg %}
Built  open graph image generator with NodeJs & NextJs
Tags: node, nextjs, heroku, javascript
Published: 2022-02-27 09:33:07

I have built this open graph image generator with 
- NodeJs
- NextJs
- ExpressJs
- Material-UI

Check it out -> https://og-image-client.vercel.app

## Features
### Theme
It supports two theme, light and dark.

### Layout
Currently it supports only three layout.
#### 1. Default
In default layout, you can put your logo at the very top and title at the bottom of the logo

#### 2. Simple
In this layout, you won't be able to add your logo. You can  only have text

#### 3. Blog
This layout contains all the features available in Default. It also allow you to put some tags images, you can see the option at the bottom (Featured images).

## Do check it out and let me know in the comments that what else can be introdused and improved -> https://og-image-client.vercel.app
WEEK 2 Experience at Taskforce 5.0
Published: 2022-02-27 09:31:07

Oh, My, Time flies! I can't imagine it's already the end of my second week at Taskforce. Week two came in pretty quick, I missed the first day because of sickness but attended the remaining days of the week regardless of not being 100% fit.   Was it a good idea to attend work without being at my 100? Was it worth it? Here is what I learned from that.

Having been out of work for 4 days just dealing with medication  and resting it was obvious that I lost my flow and pace. But Taskforce is quite intense and challenging. How do I handle it?

The biggest challenge I faced was having to do two assignments on the same day; one of making integration pipelines and another of Codewars. I felt overwhelmed by the tasks at hand. The integration pipelines not working and having a number of Codewars challenges that I haven't done.

How I dealt with it was with something I learnt from our facilitator silke on day one of not sticking with a failing strategy for too long. So what I did was to prioritize and begin with the easiest task which I deemed to be Codewars and submit it on time. Then integration pipelines later.

A session with Hans, one of the co-founders of Code of Africa, regarding effective communication helped a lot with dealing with integration pipelines. We had to communicate with the facilitator(Yannick, a co-founder of Awesomity lab) to let him know of the difficulties we are facing and he really helped us a lot, which really encouraged us. How I ended up completing the task was to work as a team with a fellow intern who uses the same stack as me.

Lastly, demo Friday came, by then I have already gained the pace and got to experience my first. it was fun and interesting as ever, as it was hyped by my fellow interns. So was it worth it? Yes definitely. Thank you for giving it a read. See you on the next.
My second-week experience in TaskForce 5.0
Tags: taskforce, awesomitylab, codeofafrica
Published: 2022-02-27 09:25:27

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7nheigf3726e82h630vs.jpg) 
Adaptability is a skill that refers to the ability of a person to change his actions, course, or approach to doing things to suit a new situation. Adaptability is not just adjusting to a situation. It encompasses being able to effect changes in a course of action with smoothness and timeliness, without any major setbacks.

> Adaptability is being able to adjust to any situation at any given time.

John Wooden

The end of the week was quite intensive and I have had to adapt to a bunch of challenges I faced. From those challenges, I can typically mention stress.

On Friday we gave a presentation about what we’ve learned during the whole week. In the first week, we had our topic a day before our presentation day, and it was quite good because we had enough time to prepare for our presentation. But this week was different, we had our topic before a few hours of our presentation.

Doing research and preparing a presentation in a such small amount of time was very stressful. We divided our topic into parts and each was allocated to a team member. Everyone had to do research on the assigned topic and after that, we had to explain to each other the topics.

This approach helped us as a team, but from my side, I had to add something. In the first few minutes, I was panicking and I was not able to focus on my task. I was only thinking about what will happen if we don’t deliver our presentation instead of thinking about what to do. This kept bothering me, and after wasting my valuable time I realised that I had to change my mind. I took a deep breath and started to think positively.

This helped me to accomplish my task and I was able to share my learnings on the topics with my teammates. We prepared our presentation successfully and we delivered it very well.

So, the only thing that helped me to manage my stress was adaptability. For as long as there are many uncontrollable factors in our environment, it is necessary to acquire adaptability skill.
What is React Context?
Tags: react, context, reacthook
Published: 2022-02-27 09:00:01

### Definition

Context provides a way to pass data through component tree without having to pass props down manually at every level. 

It is designed to share data that can be considered global for a tree of React components.

### Benefit
Using context, we can avoid passing props through intermediate elements (aka prevent props drilling)


### Where context is not a good solution? 

Note: We need to know to apply it sparingly because it makes component reuse more difficult. 

Note: If you only want to avoid passing some props through many levels, [component composition](https://reactjs.org/docs/context.html#before-you-use-context) is often a simpler solution than context.


### Use cases
Such as the current authenticated user, theme, or preferred language or even as a global state management


### ref
https://reactjs.org/docs/context.html
I want to flat this json as array.Any help pls
Tags: javascript, json, arra
Published: 2022-02-27 08:48:12



  let json = [  {

        "name":"vay",

        "age":26,

        "children":[

             {"name":"Ajay",

              "age":16,

              "children":[

                  {

                "name":"kojay",

                "age":26,

                "children":[

                    {

                        "name":"dija",

                        "age":"4"

                    }

                ]

             }

              ]

             },

             {

                "name":"kojay",

                "age":26,

                "children":[

                    {

                        "name":"dija",

                        "age":4

                    }

                ]

             }

        ]

    }]

`let array=[]

 

function r(json){

    for(let i=0;i<json.length;i++){

    array.push(json[i])

      function e(jso){

        if(json[i].children!=null){

            json[i].children.map((x)=>array.push(x))

        }

    }

    e(json[i])

 

    }

 

}
`
Week 2 of TaskForce 5.0 reflections
Published: 2022-02-27 08:46:00

Imagine you are on a weight loss diet. This is an exciting time in your life and you want to keep track of the changes in weight, mood, height, etc... that you are experiencing so that you can share it with close friends. 

![Weight loss journey](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h8dkyvdirlb1hkt5zeb9.png)
 
One way of keeping track would be to have a notebook and noting down the changes per week or day. After some time, you would be able to take a look at the notes and see all the changes that happened.

The same analogy applies to software development. But we do not use notebooks to keep track. After all, it wouldn't be very productive to use 1 notebook for a team of 20 people.

We use Git. Which is provided by multiple services such as GitHub, GitLab, etc ...

![Git and Git clients](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f37qdwds5dqm2mner02i.png)
 
This last week was all about tools used by developers such as Git and the best practices that are used to deliver quality products using those tools.

Some of these practices were quite challenging, especially because they were new concepts to I and the team.

But there is no challenge that is bigger than 10 brilliant minds in one room. We worked together and collaborated to come up with solutions and at the end of the week we had results.

Now you would ask, what did you take from this past week? 

I learnt about the value of having a structure or guidelines to the way a team operates and some tools that help in this structure. This helps development companies (who interact with lots of clients) communicate better with non-techie people while also communicating to techie people which results in happy clients and satisfied developers. And that is the dream combination.

Cheers and see you next week. Same place, same time.
Task force 5.0 Week Two Recap 
Tags: coa, awesomitylab
Published: 2022-02-27 08:40:42

It was a very interesting week of good technical and soft skills experience.

Technical skills were about communication, we have gone through the polite and professional way to respond to an email and not ask close questions, I have been making a lot of mistakes but after the session l gained a lot.
With Hans, we sow a lot and we played a role where l was an employee but the boss tried to tell me the bad news it was a good experience of knowing deep about empathy. 

It's been a new challenge for me through code wars kata, where we have to do them lonely it was a way of thinking very big to solve all the Codewars katas, this was really amazing but honestly, teamwork wins in a very short time. but l enjoyed them.  

**It works on my machine!**
This is one the best to get the value of git and DevOps, through technical skills l enjoyed the course we took with the CTO of Awesomity Lab.    
we saw the importance of git and even DevOps for myself, l didn't know well about DevOps but I even enjoyed it as it aims to shorten the systems development life cycle and provide continuous delivery with high software quality for the git, it was amazing in going into all of the Git processes. 

For myself, l was using GitHub but in our session, we have gone with GitLab it was challenging but later l enjoyed it through pipelines and even automating some jobs.

For the presentation, we got some challenging questions but after we overcome them and even more to add on what we had.

It was the best catchy week for all the sessions we had l learned a lot, thanks to #CoA and #Awesomity Lab.