teleren/devto huggingface dataset:
Ethereum Messages
Tags: beginners, blockchain, webdev, web3
Published: 2022-12-28 07:50:16

**When we have an Externally Owned Account and we want to communicate with the Ethereum Network we broadcast a transaction. Inside this transaction we can choose to send data which is bytecode intended to interact with the EVM.**

 If we don't send data then there's no intention to interact with the EVM. This is the case for simple ether transfers from one address to another.

The data, often refered to as the calldata, is used to pass a message into the EVM. It will target a specific contract account (could be either a contract or library in Solidity terms) which may also make calls to another contract account. Every time a contract account calls into another contract account it forms a message. This message includes its sender address, the targeted function signature, and the amount of wei sent.

In Solidity we have access to these message through global variables:
**
msg.data (bytes) - the complete calldata
msg.sender (address) - the address sending the message
msg.sig (bytes4) - the targeted function signature
msg.value (uint) - the amount of wei sent
**

 Wondering why the msg.sig is 4 bytes? This value is actually the first four bytes of the keccak256 hash of the function signature. It provides a way to uniquely identify (and target) the functions on a smart contract without worrying about how long the function signature is. Otherwise you could potentially store a reallyLongNameForAFunction and the calldata would need to store all of this information to invoke that function!
Hotel Booking In Kanyakumari
Tags: hotelsinkanyakumari, hotelsatkanyakumari
Published: 2022-12-28 07:39:07

If you want to witness the early sunrise, book [**hotels in Kanyakumari near beach**](http://www.hoteltempleciti.com/). They will reduce your travel time as well. If you plan to stay in Kanyakumari for a month, ensure room availability during hotel booking. [**Hotel booking in Kanyakumari**](http://www.hoteltempleciti.com/) is nowadays easily possible due to their online services. They also arrange transportation services for your needs. Hence book the hotels to stay in during your tour of Kanyakumari.
Help me(us) out fellow developers!!
Tags: webdeve, help, backend, frontend
Published: 2022-12-28 07:33:07

For my followers and new readers of my post I am writing this post to get advice and your opinions on the decision am about to take.

So the thing is I am a good frontend developer you can really count on me for your projects but then I enjoy backend more than frontend, but another problem is Frontend development job opportunities are prevalent and easily got than those for backend development.

So I'm stuck , should I keep working with Frontend for the money or should I keep working with Backend and be patient until the opportunity arises?

Thank you All for your ideas I'll really consider them and I Know someone out there - maybe you - has the exact same problem so help us out.
My Personal Profile/Moringa School Experience.
Published: 2022-12-28 07:07:28

Meet Ronald Kipchirchir

Full stack Developer || Tech Enthusiast || Exploring Blog Writing

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

Ronald Kipchirchir, Moringa school 2023 graduate
When Ronald, 20 , completed his secondary school education in April 1st 2022 in Cheptuech Boys Secondary School, he immediately drew himself to technology and joined Moringa School on July 16th 2022 to pursue a course in software development for six months.

‘‘At Moringa i have learnt a lot the way i need to be open-minded.If am not successful in this life is because of me not being open-minded actually joining Moringa school is one of the best decisions I have ever made in my life. I’eve met some extremely awesome and resilient people.’’

I was nervous joining Moringa School at first , my mind was full of doubts, “Will they accept me? will I manage the course? I had very little or rather no knowledge in tech scene. Studying with university graduates, I was so scared, these guys had bachelor degrees, and I was wondering if I was skilled enough to fit in the field yet i had just completed my high school education some months ago.” Ronald recalls wondering. That didn’t stop him, he researched extensively on web development and several motivations from his sister Catherine Chepkurui and several advices from Steve Biko @Moringa School.

“It was wonderful moment, i coded my way and completed all the labs, code challenges and projects including group projects, I realized I had passion , I practiced and showcased my skills in Web development. I was proud of my growth in web development to stay here and learn more.Since it is the fast-growing field”

Ronald doesn’t see the need for anyone to go to a public university, especially for those who struggle to get a tertiary education. He believes “bootcamps” offer much more than average university, a good example is Moringa School .

I believe exposure is essential, “don’t limit your world to your village or neighborhood, try and explore new things, new places, find new friends and attend as many events as possible. Don’t give up and think only specific things are for specific people. Seize every opportunity to grow.”

Ronald is determined to push forward , as he nears graduation in January 2023.And hopes one day to find an organisation where he can mentor other youths to career in tech.

‘‘I am ready to take on the world I want to be known as a web developer/coding coach building career foundations and empowering youths in tech. I would love to have an organisation/community, run by me, of youth interest in tech.’’

As the writer and editor of this blog, I am looking forward to continuing to bring you informative and engaging content in future. Thank you for taking the time to read my blog, Your support and engagement means a lot to me. I am always open to feedback and suggestions for future blog topics, so don’t hesitate to reach out. Are you looking for quality blog writing for your business let’s talk; email: ronaldcheruiyot342@gmail.com or via whatsapp .Thank you!
Cisco 200-901 Exam Dumps - Exam Questions
Published: 2022-12-28 07:00:55

Cisco 200-901 Exam Dumps [2023] - Crack the Exam in One Attempt
Passing the **Cisco 200-901 Exam Dumps** become by no means clean, however in case you observe the proper technique, you may nail your Cisco 200-901 Exam Dumps Developing Applications and Automating Workflows the usage of Cisco Core Platforms examination effortlessly. You can make sure your Cisco Certified DevNet Associate Cisco 200-901 Exam Dumps take a look at fulfillment when you have all of the required records to take the Cisco 200-901 Exam Dumps quiz. For this, you want a right supply of Cisco 200-901 Exam Dumps examination questions dumps that includes applicable records approximately the Cisco 200-901 Exam Dumps Developing Applications and Automating Workflows the usage of Cisco Core Platforms examination that will help you recognize the Cisco Certified DevNet Associate Cisco 200-901 Exam Dumps take a look at and get fulfillment effortlessly confirms your fulfillment withinside the Cisco 200-901 Exam Dumps quiz with its Cisco 200-901 Exam Dumps to be had in  codecs.

Cisco Best Offer: https://dumpsarena.com/cisco-dumps/200-901/
CREWORK WEB DEV COHORT: MY STORY
Published: 2022-12-28 06:56:13

<h3>Our Project: NOTED</h3><p>Over 8-weeks we together built NOTED- a chrome extension to take notes on YouTube without leaving the tab. We are launching our product on product hunt soon. Team NOTED was the best team to work with.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7mVM7fI-teaanbkNnfTWtg.png" /></figure><h3>Final Words</h3><p>For me, Crework was a new beginning. I wanted the cohort to never end but as they say, good things always come to an end, here we are. I loved working on the project, made some brilliant friends, and learned from the BEST mentors. At the end of the cohort, one step closer to my goal.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=36a769384645" width="1" height="1" alt=""></br><p style="color:#757CF9;">This article is published w/ <a target="_blank" href="https://scattr.io?ref=dev">Scattr  ↗️</a></p>
Is coding the only way to get SDE roles?
Published: 2022-12-28 06:50:07

Coding is one way to gain skills that are relevant to software development engineer (SDE) roles, but it is not the only way. There are many other skills and experiences that can be valuable for SDE roles, including:

Problem-solving and critical thinking skills: These skills are important for tackling the complex and often open-ended problems that software engineers encounter.

Communication and collaboration skills: SDEs often work in teams and need to be able to effectively communicate and collaborate with others to solve problems and build software.

Experience with software development processes: Familiarity with agile development methodologies, testing and debugging techniques, and version control systems can be beneficial for SDE roles.

Knowledge of relevant technologies and programming languages: While proficiency in specific technologies and programming languages is important for some SDE roles, it is also important to have a willingness to learn and adapt to new technologies as they emerge.

Experience working on real-world projects: Participating in hackathons, internships, or other real-world projects can help you gain practical experience and demonstrate your skills to potential employers.

There are many resources available for learning and developing these skills. Some options include online courses and tutorials, local meetups and hackathons, and internships or apprenticeships. Here are a few resources that you may find helpful:

1. Codeacademy (https://www.codecademy.com/)
2. Coursera (https://www.coursera.org/)
3. Meetup (https://www.meetup.com/)
4. Hackathons (https://www.hackathon.com/)
5. Internships (https://www.internshala.com/)

It is also worth noting that some SDE roles may require a bachelor's or master's degree in a related field, such as computer science or software engineering. If you are interested in pursuing a career as an SDE, it can be helpful to research the specific requirements and expectations of the roles that you are interested in.
Google Cloud Platform Its Benefits
Tags: beginners, tutorial
Published: 2022-12-28 06:46:36

Google Cloud Platform refers to (GCP) refers to a collection that of cloud computing service which run within the infrastructure Google uses internally to provide services for users, including Google Search as well as storage of files as well as YouTube. Google Cloud Platform is the computing platform that permits custom applications to be created and hosted. GCP provides its users with access to a variety of services on the Internet. There are many choices for [GCP Course](https://www.edureka.co/google-cloud-architect-certification-training). There are many options. If you've had the practical training capabilities in a classroom as well as in an online environment, it can assist you in remembering the information better and aid in completing training training to be a skilled specialist in cloud computing.

Google Cloud Platform is one of the most well-known contenders to be the best in the cloud provider market. It is a preferred choice due to a myriad of reasons. There are many incredible benefits that draw millions of users to Google Cloud Platform each day. Google Cloud Platform each and every day. The benefits of the use of Google Cloud Platform include the following:

**Efficiency:** Google Cloud application can support thousands of customers simultaneously without slacking off.

**Rapid collaboration** GCP allows rapid collaboration between users as they could be working from different places yet be able to access or edit the projects in the same moment.
Cost: GCP offers a monthly pricing plan, which is calculated based on monthly use. In addition, it provides committed usage discounts.

**Big Data:** Google Cloud Platform offers a variety of new tools for cloud storage , such as BigQuery and real-time data processing tools , such like Google Cloud Dataflow

**Live Migration** is one of the primary advantages of GCP that competitors don't offer. Live migration can be performed from virtual machines during maintenance events. This means that you will be able to transfer live loads and there is no downtime for your websites or services.
Serializing and deserializing our user data in passport.js
Published: 2022-12-28 06:37:20

As mentioned in the [previous article](https://dev.to/chaharsumit/storing-the-user-data-in-our-database-3e) passport by default uses `serializeUser and deserializeUser methods`

**SerializeUser method**

It is used to store user data in the session storage. It also decides which part of user object will be stored in the session.

When we the auth process runs in passport.js before handling the success redirect it always looks for a serializer method to put the user information in the session.

```
User.create(profileData, (err, newUser) => {
            if (err) {
              return done(err);
            }
            return done(null, newUser);
          });
```

This is the reason why it is recommended to pass a second truthy value to the `done` callback of the strategy after we have created and stored the user in the database. The second argument of the done callback will be the user object and the serializeUser method will have access to it so we can save the user info by passing a key in the `done` callback of serializeUser method. The key passed is useful in desearilizing the user as mentioned below.

**DeserializeUser method**

We also have deserializeUser method which can be used to get access to the user data. It has two arguments with the first argument being the key that we passed to the `done` method in our serializeUser method. We can access the entire user object by using only the key i.e., the first argument of the deserializeUser method.

We will add both of these methods now to our `passport.js` module file and it will look like this.


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



We can disable the serializeUser method as well if don't want to use it by default. We just need to pass `sessions: false` in our `index.js` file `/auth/github/callback` route.

```
router.get(
  "/auth/github/callback",
  passport.authenticate("github", { failureRedirect: "/failure", session: false }),
  (req, res) => {
    res.redirect("/success");
  }
);
```

That's it we have completed our Github OAuth application.

Thanks for reading the article.
Creating module for our Github OAuth strategy
Published: 2022-12-28 06:35:50

[In the previous article](https://dev.to/chaharsumit/handling-routes-for-our-passport-application-223o) we set up our routes in the index router file. Now we need to create the strategy to use for our Github OAuth application from passport.js.

**What is a auth Strategy ?**

Strategies are a defined authentication mechanism which is responsible for handling auth requests. A strategy provides information on what basis of data we provide like `client_id`, `client_secret` to verify the application with these credentials.

In our Github strategy we need to pass our `client_id, client_secret` which are required to verify the application and if the application is registered with Github OAuth or not and only then the OAuth flow proceeds. We also pass a third param i.e., `callback_url` to which we are redirected after the auth process has ended.

The Github strategy will also return us a callback function with `accessToken, refreshToken, profile and data`. We can perform any operation we want with the data we get from this callback.

We can use the accessToken and refreshToken to authenticate the user once we have them stored in our local database in case we don't want our user to login by going to the Github consent screen every time they want to login.

We will create a `modules folder` in our project folder and create a file name for example `passport.js` in the folder. The file will have the following structure.

before we start writing our module file we will need to add it to `app.js` and preferably before we are initialising our application. As we want to make sure that the first time when our application is initialised our strategy in the module is already stored in the memory.


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


After importing it in `app.js` we can proceed further.



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



In the above file,

- We are redirected to the callback url after the auth process is complete the `/auth/github/callback` is already present in our index.js file.



- Next, we need to use the callback function that contains the user data and tokens in the Github strategy and create a user and store it in our local database.


[Go to next article 👉](https://dev.to/chaharsumit/storing-the-user-data-in-our-database-3e)
Handling Routes for our passport application
Published: 2022-12-28 06:35:11

[In the previous article](https://dev.to/chaharsumit/register-oauth-application-on-github-5hm7) we registered our application on Github and we've got our config variable. We need to setup our routes for passport authentication with Github.

In our index.js file in the routes folder we will set up the routes to use OAuth.

**Now we need to configure our routes for handling the OAuth process**

Our index.js file will look like this, 

![Index.js file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/evvbxavcp0li7hmw2tcv.png)



- `'/'` the index route to render our index page where we'll have our login button.

- `'/success'` to redirect user if auth is successful.

- `'/failure'` to redirect user to failure page if auth is unsuccessful or an error occurs.

- `'/auth/github'` we'll make a `get` request to `auth/github` route and pass the middleware passport.authenticate passing `"github" as param` to authenticate with Github strategy.

- `'/auth/github/callback'` this route will work after the OAuth process is complete and we get either an error which means the failureRedirect option will trigger and we'll be redirect to the `/failure` route. If auth is successful then we'll be redirected to the success page and the users profile data will be available to us.

- '/logout' for logging out of current session.


The auth/github route makes use of Github Strategy which is a defined protocol that has to be followed and there are different strategies for different OAuth provider for example, google OAuth strategy will be different in comparision to the Github OAuth Strategy.

We'll set up our OAuth strategy in the next article.

[Go to next article 👉](https://dev.to/chaharsumit/creating-module-for-our-github-oauth-strategy-1md5)
Register OAuth Application on Github
Published: 2022-12-28 06:34:30

The first step in creating our Github OAuth application is registering our app on Github.

You will need to follow the below steps - 

- go to your Github account and navigate to /setting/developers.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1dn7b5ytov7loi4oj75w.png)

- Choose OAuth apps and create a New OAuth app.

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

- In this step we have to give our application a name and a homepage URL I am using it on localhost so I've given a localhost URL. 

- We also need to provide an authorisation callback url here which is the url where the user is redirected to after Github authorise our application.


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



- After Registering the application we'll be redirected to our application settings and provided with the clientID and we need to manually generate the client secret. The clientID and client secret are to be stored in the `.env` file as these should not be exposed anywhere being sensitive information.

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




[Go to next Article 👉](https://dev.to/chaharsumit/handling-routes-for-our-passport-application-223o)
Creating an OAuth application with Express & Passport in 5 simple steps
Tags: webdev, javascript, node, programming
Published: 2022-12-28 06:34:24

In this series of articles we will be creating a basic Github OAuth application using Express.js. We'll also use Passport.js as our authentication middleware.

We will be using mongoDB, mongoose for the database and also use session storage for this application.

To setup our app we need to follow the following steps - 
- install node, npm, mongoDB, express, express generator if not installed.
- create a project folder and in your project folder use the express generator to initialise our application.
- while creating the express application make sure we have installed the following dependencies these will be available in `package.json` -

1. express
2. passport
3. passport-github
4. express-session
5. dotenv
6. connect-mongo
7. debug
8. ejs (or any templating engine)
9. mongoose
10. http-errors
11. morgan


We will setup our ejs templates first - 

In the views folder we will create our templates since this will be only a backend application. 

we will just add a link that points to our OAuth route for now, you can create these to your liking later. You can also create success, failure views, etc.



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


The folder structure after we complete our app will look like this for reference - 


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

**Creating the application**

There are 5 steps in which we will be creating our Github OAuth application -

1. Register Application.
2. Handle Routes.
3. Create Strategy for Github OAuth.
4. Adding copy of user data in our local database.
5. Serialize & deserialise.

[Go to next article 👉 ](https://dev.to/chaharsumit/register-oauth-application-on-github-5hm7)
JavaScript 3D Library - Three.JS with Example
Tags: threejs, 3d, javascript, animation
Published: 2022-12-28 06:27:02

Three.js is a JavaScript library that allows you to create 3D graphics using the JavaScript programming language. It provides a simple and easy-to-use API for creating 3D objects, rendering them to a web page, and animating them.

Here's an example of how you might use Three.js to create a simple 3D cube and render it to a web page:

```
// First, we need to create a scene
const scene = new THREE.Scene();

// Next, we create a cube and add it to the scene
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);

// Then, we create a camera and add it to the scene
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;

// Next, we create a renderer and set its size
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);

// Finally, we add the renderer's output to the document
document.body.appendChild(renderer.domElement);

// Now, we can render the scene using the renderer
renderer.render(scene, camera);

```

This code will create a green cube and render it to the web page. You can then use the **requestAnimationFrame** function to animate the cube by modifying its position, rotation, or other properties.

Three.js also provides a wide range of features for creating more complex 3D graphics, such as lighting, materials, textures, and particle systems. You can learn more about these features in the Three.js documentation.