teleren/devto huggingface dataset:
One Day or Day One, You Decide!
Tags: beginners, career, productivity, webdev
Published: 2023-01-12 14:04:07

It's either you run the day or the day runs you, you choose. We all have big dreams but dreading to take action there by we are lock in the state of mind of taking the action now or procrastinate the actions until later date. The journey of a thousand miles starts with taking the very first step and see how alot can be achieved in no time.

Here are a few tips for taking action to combat procrastination:

1. Break tasks down into smaller, manageable chunks. This can make them feel less overwhelming and more manageable.

2. Set specific, achievable goals and deadlines for yourself. This will give you a clear sense of direction and something to work towards.

3. Use a timer to help you stay on task. Set a timer for a specific amount of time and work on the task at hand until the timer goes off.

4. Eliminate distractions. Turn off your phone, close unnecessary tabs on your computer, and find a quiet place to work.

5. Prioritize your tasks based on their importance and urgency. Tackle the most important and urgent tasks first, and then move on to the less important ones.

6. Reward yourself for completing tasks. Treat yourself to something nice or take a break after completing a task.

7. Stay positive and remind yourself of the benefits of completing the task at hand.

Finally, find out what works for you and stick with it. Everyone is different, so what works for one person may not work for another.



<a href="https://www.buymeacoffee.com/tunjibankoN" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-blue.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
An Introduction to REST APIs: Unlocking the Internet
Published: 2023-01-12 14:10:27


REST (REpresentational State Transfer) is an architectural style for designing distributed systems that use web standards to communicate between different systems and clients. It is based on the principles of client/server architecture, statelessness, and uniform interface.


REST APIs (Application Programming Interfaces) are used to provide access to data and services over the Internet. REST APIs are typically used in web applications to enable communication between the client and the server.



REST APIs are based on a few core principles, including statelessness, uniform interface, and caching. Statelessness means that no client context is stored on the server during a request, and the server responds to each request independently. 


The uniform interface ensures that all requests are made in the same way, regardless of the underlying technology. Caching is used to reduce the amount of time needed for a request to be processed.



REST APIs use HTTP methods such as GET, POST, PUT, and DELETE to access and manipulate data. GET is used to retrieve data, POST is used to create new data, PUT is used to update existing data, and DELETE is used to delete data.

[Click To Visit Full Article Originally Published On:-12/01/2023](https://www.javaoneworld.com/2023/01/an-introduction-to-rest-apis-unlocking.html)
Implement Rollback with Terraform
Tags: terraform, rollback, cloudformation
Published: 2023-01-12 14:06:56

---
title: Implement Rollback with Terraform
published: true
description: 
tags: #terraform #rollback #cloudformation
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-01-12 14:01 +0000
---

There's no magic here, friends.

```
$ terraform apply # fails
$ git checkout HEAD~ # checkout the prior commit
$ terraform apply 
```

You can checkout a specific commit sha with:
`git checkout <commit sha>`

I don't recommend using this with any stateful resource types... RDS, EKS, etc.
React Native Tutorial: Creating a Mobile App with JavaScript
Published: 2023-01-12 14:06:53


React Native is a popular open-source framework for creating mobile applications using JavaScript and the popular React library. It’s designed to enable developers to quickly and easily create apps that look and feel native to both Android and iOS.


The first step to creating a React Native app is to install the development environment. This includes installing Node.js, the React Native CLI, and Xcode or Android Studio. Once the environment is set up, you can create a new React Native project with the command line.



Next, you need to create the UI for your app. React Native uses a concept called “components” which are like building blocks for your UI. Each component is responsible for a specific section of the UI. Components can be customised and reused throughout the app.


Next, you need to create the “logic” for your app. This is done using JavaScript and the React Native API. The API provides various methods for accessing native device components such as the camera, accelerometer, and Bluetooth. You can also use the API to access data from remote servers.


[Click To Visit Full Article Originally Published On:-12/01/2023](https://www.javaoneworld.com/2023/01/react-native-tutorial-creating-mobile.html)
Discover useful insights about any GitHub repo
Tags: github, opensource, analytics
Published: 2023-01-12 13:55:19

There are over 368 million public repositories on GitHub. And over 100k are added every day.

It's nearly impossible to stay ahead of things and distinguish between "good" & "bad" projects.

Therefore, many people are relying on Stars to evaluate the relevance of a project. But Stars are a vanity metric and don't say more than Twitter followers or Facebook likes.

That's why we built [AnalyzeMyRepo.com](https://analyzemyrepo.com/). 🔍

![analyzemyrepo.com screenshot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zhb2x58p5uyx2lb7z59m.png)

It's a free & open-source tool we built to make your life easier when analyzing and discovering GitHub repositories. It gives you an analysis of the adoption, contribution, diversity, and governance of any open-source repository.

It crunches data from 150k+ repositories daily and provides charts, checklists, and written summaries.

My favorite feature is the [GPT-3 powered search](https://analyzemyrepo.com/ai-search) that lets you discover open-source projects with search queries like "game engines in rust". It really works like magic.

We launched analyzemyrepo.com on [ProductHunt](https://www.producthunt.com/posts/analyze-my-repo) today and would really appreciate your feedback there. 🙌

What's the first repo that you're going to analyze?
Web Evolution: Navigating the Difference Between Web3 and Web 3.0!
Tags: web3, blockchain, semanticweb, webdev
Published: 2023-01-12 13:47:15

Ever wondered how the internet will change in the future? Web3 and Web 3.0 are the answers you’re looking for. Decentralization and Machine Understanding; the two sides of the same coin, yet distinct in their own ways.


![Web3 vs Web 3.0: Navigating the Future of the Internet.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/66qg2jp4nhrcyie5q6ia.png)

Are you confused about the difference between Web3 and Web3.0? Don’t worry, you’re not alone. These two technologies may sound similar, but they’re quite different.

**Web3**, also known as the “Decentralized Web” or in the more popular term “Blockchain”, aims to create a network where users have more control over their data and privacy. By using decentralized applications (dApps) that operate without a central authority, Web3 has the potential to disrupt traditional centralized systems and bring about a new level of transparency and trust in online interactions.

**Web 3.0**, also known as the “Semantic Web”, is a vision for the future of the internet where information is easily understood by computers, making it more searchable and interconnected. This is achieved through the use of ontologies, metadata, and other techniques which makes data more structured and machine-readable. The goal of Web 3.0 is to create a more intelligent and intuitive internet, where machines can understand and interpret the meaning of data, not just process it.

So, what does all this mean for the future of the internet? Well, with Web3, we can expect a shift towards a more decentralized and trustless network, where users have more control over their data and privacy. Meanwhile, Web 3.0 promises to bring about a more intelligent and intuitive internet, where machines can understand and interpret the meaning of the data, making it more easily searchable and interconnected.

But here’s the exciting part: these two technologies are mutually exclusive and complement each other! The combination of Web3 and Web3.0 has the potential to revolutionize the way we interact with the internet and with each other. Imagine a future where personal data is safeguarded by blockchain technology and machines can easily understand and interpret the meaning of the data, making it more searchable and interconnected.

So, to cut the story short:

- Web3 is about decentralization and giving users more control over their data and privacy.

- Web 3.0 is about making the internet more intelligent and intuitive for computers.

- These two technologies can work together to make the internet an even better place for everyone!

As we continue to navigate this rapidly evolving landscape, it’s important to stay informed about the latest advancements in Web3 and Web 3.0 and their impact on the future of the internet. The future is exciting and it’s time to take the leap and embrace it! It’s also our responsibility to work towards a world where the internet is more secure, more intelligent, more intuitive, and more accessible. The opportunities are boundless. Don’t miss out on the revolution.
블로그 장소를 옮겨야 겠다.
Published: 2023-01-12 13:40:49

Gatsby + Netlify 사용해서 직접 코드에디터를 열고, git commit 해 가면서 자체 블로그를 운영해 왔다. Gatsby blog theme도 직접 수정해서 댓글 기능도 달고, 다크테마도 입히고, 태깅 기능도 넣고 리액트 코드 수정해가는 재미로 운영해 왔었는데.. 종종 라이브러리 의존성 에러 나서 고치고, 배포 환경에서 문제 생겨서 고치고, 이번엔 무슨 Netlify 배포 OS 업데이트가 있어서 고치고 별에 별 사건이 다 일어났다. 이러다보니 블로깅의 핵심은 글을 작성하는 건데 고치는데 시간을 더 많이 썼다. 

2022년 글을 많이 안 쓰기도 했지만, 오랜만에 Gatsby로 글을 쓰려다가 에러만 고치가다 시간이 다 갔다. 나는 이제 더 이상 개발자도 아닌데, 글 쓰는데 방해가 되는 요소와 환경은 모두 제거해야겠다. 

참, 적절한 블로그 플랫폼 고르기가 힘들다. 그나마 dev.to가 가장 마음에 드는데 여기 역시 개발자 분들이 많고, 또 거의 대부분은 외국인 분들이다. 에라 모르겠다. 그냥 마음에 들면 옮겨야지. 

그런데 dev.to 가 블로그 아티클 export기능은 있는 것 같은데 (신기) import 기능이 있는지는 모르겠다. 지난 과거의 글들을 다 언제 여기로 옮기지... 고민이 된다. 참 귀찮은 일이다. 

암튼, 2023년엔 글을 더 자주 쓰고 정리해야겠다. 글을 쓰지 않으니 생각이 정리되지 않을 때가 많다. 반성하고 혼자 생각하는 시간을 많이 갖자.
Versioning GraphQL and Rest API's
Tags: graphql, webdev, backend, rest
Published: 2023-01-12 13:32:27

When building an API, it's important to consider how you will handle versioning. The ability to evolve your API over time while maintaining backwards compatibility is crucial for ensuring a smooth experience for your users. In this article, we'll go over some best practices for versioning a GraphQL API and a REST API, and how to implement them with code snippets.

Handling versioning with version on header:
One common approach to versioning API is to use a field or header to specify the version. This allows clients to specify which version of the API they want to use, and the server can respond accordingly. For example, a client could include a `version` field in their query, and the server would use that to determine which schema/resource to use.

GraphQL example:

```
const express = require("express");
const graphqlHTTP = require("express-graphql");

const app = express();

const schemaV1 = /* your v1 schema */;
const schemaV2 = /* your v2 schema */;

app.use("/graphql", graphqlHTTP((req) => {
    const version = req.headers["version"];
    const schema = version === "v1" ? schemaV1 : schemaV2;
    return {
        schema,
        graphiql: true
    };
}));
```

In this example, the server is using the version header passed in by the client to determine which schema to use.

Handling versioning with url:
A common approach to versioning REST API's is to include the version number in the URL. For example, you could have `/v1/resource` and `/v2/resource` as your endpoint for different versions of your API. 

```
const express = require("express");
const app = express();

app.use("/v1/resource", (req, res) => {
    // v1 resource endpoint
});

app.use("/v2/resource", (req, res) => {
    // v2 resource endpoint
});
```

In this example, the server is using different endpoint for different versions of your API.

Best practices:
- Avoid making breaking changes to the API
- Introduce new fields or types, or deprecate old fields or types in GraphQL API
- Introduce new endpoints or deprecate old endpoints in REST API
- Provide a migration path for existing clients
- Document the API clearly and communicate changes to users
- Provide release notes and detailed documentation for each field, type or endpoint.
Convert Image To Embroidery File
Tags: webdev, beginners, tutorial, programming
Published: 2023-01-12 13:31:47

A wonderful approach to customise your craft and make one-of-a-kind presents for loved ones is to create embroidered designs from your own photographs. But in order to achieve this, you must first convert the image to an embroidery file. It would be ideal if you could do this for nothing. In this essay, I'll detail how to achieve it specifically.
It's not that difficult to [convert image to embroidery file](https://emdigitizer.com/convert-image-to-embroidery-files/). A wonderful approach to customise your craft and create one-of-a-kind presents for loved ones is to create embroidered motifs using your own photos. However, in order to use the image for this, you must convert it into an embroidery file. It would be ideal if you could do this for free. In this piece, I will merely briefly describe this.
Is Spring Boot worth considering over Spring? ?
Tags: webdev, springboot, java, spring
Published: 2023-01-12 12:15:01

A feature of Spring Framework that allows managing application's objects dependencies, it's the dependency injection.

But unlike Spring Framework, Spring Boot has no need of XML configuration (spring beans configuration..).

For example, Why do you need to restart you server manually for every code changes and the starter-projects can make it with just one dependency ?

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/chebgbovhmgx9j8ifbbl.png)
Spring Boot is a powerful framework that allows developers to quickly create and run Spring-based applications with minimal configuration. It provides a number of features and conventions that make it easier to get started with a new project and to quickly build, test, and deploy your application.

One of the key features of Spring Boot is its **starter_projects**. Spring Boot provides a number of "starter POMs" that allow developers to quickly add common dependencies to their project(JPA, Devtools, Hibernate...). This can save a lot of time and effort when setting up a new project, as you don't need to manually add and configure all the dependencies. The starter POMs also ensure that you are using the correct versions of the dependencies, which can help to prevent compatibility issues.

Another great feature of Spring Boot is its **autoconfiguration**. It can automatically configure a lot of the settings and dependencies for your application, based on the libraries you have included in your project. This means that you don't need to spend lots of time configuring your application and can instead focus on writing the code that makes your application unique. The autoconfiguration feature can also help to prevent common configuration mistakes and make it easier to deploy your application to different environments.

Another feature that makes Spring Boot better than Spring Framework is its #embedded_servers. You can run your application on an embedded server, such as **Tomcat** or Jetty, without the need to set up and configure a separate server(you don't need to add any Library or .JAR files). This can save a lot of time and effort and also makes it easy to deploy your application to different environments.

Finally, Spring Boot includes an #actuator that provides information about the health and performance of your application. This can be very useful for monitoring and troubleshooting your application and also allows you to perform operations such as shutting down the application. This can also help you to quickly identify and fix any problems with your application, which can help to ensure that your application is always running correctly.
All of these features combined make Spring Boot a more opinionated and easy-to-use framework as compared to Spring Framework. It requires minimal configuration and provides many features out of the box, which makes it easy to create and run Spring-based applications. If you are looking to start a new project or to quickly develop and deploy a Spring-based application, then Spring Boot is definitely worth considering.
Introduction to Docker
Published: 2023-01-12 13:31:31

Docker is a platform for developers and sysadmins to build, ship, and run distributed applications. It is a tool that allows you to package an application and its dependencies in a single container, which can then be easily moved between different environments. This makes it an ideal tool for building, testing, and deploying applications in a consistent and reliable way.

One of the main benefits of using Docker is that it allows for easy and efficient deployment of applications. With Docker, you can package an application and its dependencies into a single container, which can then be easily moved between different environments. This makes it easy to deploy your application to different environments, such as development, testing, and production, without having to worry about compatibility issues.

Another benefit of Docker is that it allows for easy scaling of applications. With Docker, you can easily create new containers for your application, allowing you to scale your application as needed. This makes it easy to handle increased traffic or demand for your application, without having to worry about provisioning new servers or making other changes to your infrastructure.

Docker also allows for easy management of dependencies. With Docker, you can package all of the dependencies for your application into a single container, making it easy to ensure that your application has everything it needs to run correctly. This also makes it easy to move your application between different environments, as all of the dependencies are already included in the container.

Docker also provides an easy way to manage the configuration of your application. With Docker, you can use environment variables to configure your application, making it easy to change the configuration of your application without modifying the code. This also makes it easy to move your application between different environments, as the configuration can be easily adjusted as needed.

Docker also provides an easy way to manage the security of your application. With Docker, you can use capabilities and user namespaces to control the privileges that your application has, making it easy to limit the potential attack surface of your application. This also makes it easy to move your application between different environments, as the security can be easily adjusted as needed.

In conclusion, Docker is a powerful tool that allows developers and sysadmins to easily build, ship, and run distributed applications. It allows for easy and efficient deployment of applications, easy scaling of applications, easy management of dependencies, easy management of configuration, and easy management of security. With Docker, you can ensure that your application runs consistently and reliably, no matter where it is deployed.
Slow is fast. Cheap is expensive
Tags: career, productivity, beginners, programming
Published: 2023-01-12 13:25:12

[facebook.com/Trinwhocode](https://facebook.com/Trinwhocode)

Software development is a complex process that requires careful consideration and thoughtful decisions. It requires the right balance of speed and quality in order to achieve success. The temptation to rush through projects in order to meet deadlines can be strong, but rushing work often leads to costly mistakes and poor quality results. On the other hand, taking too long to complete a project can also be detrimental.

The phrase “slow is fast” can be used to remind software development teams that taking the time to do things properly and thoroughly can save time and money in the long run. This means taking the time to plan ahead and think through potential problems and solutions, as well as properly testing code and debugging before releasing it into production.

The phrase “cheap is expensive” can also be applied to software development. It is often tempting to cut corners and find the cheapest solution when it comes to development costs. But cutting corners often leads to low quality results, and can end up costing more in the long run. It is important to remember that quality is key in software development, and it is worth investing in the right people and resources to ensure the best results.

By embracing these two phrases, software development teams can ensure that their projects are completed efficiently and successfully. Taking the time to do things right and investing in quality resources can help to ensure that projects are completed on time and on budget, while still achieving the desired results.

[linkedin.com/in/trinmar](https://www.linkedin.com/in/trinmar)
Using Google Cloud Platform for DevOps: Tools and Services for Improved Software Delivery
Published: 2023-01-12 13:24:47

![intro](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3kk7jtas3qlgtuwd515o.png)
**Google Cloud Platform (GCP) is a cloud computing service offered by Google that provides a variety of tools and services for software development, including those for devops.**

DevOps is a practice that aims to improve the collaboration and communication between development and operations teams in order to increase the speed and quality of software delivery. GCP offers a number of tools and services that can be used to support devops practices, including:

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

### Containerization:
 GCP provides Kubernetes Engine, a managed service for running containerized applications. This allows developers to easily deploy and manage their applications in a consistent and portable way, which can help to reduce the complexity of operations.

### Continuous Integration and Continuous Deployment (CI/CD): 
 GCP offers Cloud Build, a fully-managed service for building, testing, and deploying code. This service can be integrated with other GCP services, such as GitHub, to automate the process of building, testing, and deploying code.

### Monitoring and logging:
 GCP provides Stackdriver, a service for monitoring and logging the performance and health of applications. This service can be used to track the performance of applications and identify and troubleshoot issues.

### Infrastructure as Code:
 GCP provides Terraform and Cloud Deployment Manager, that allows to manage and provision resources through code, this provides a way to automate the provisioning and management of GCP resources, which can help to reduce the time and effort required to set up and maintain infrastructure.

In addition to these services, GCP also provides a variety of other tools and services that can be used to support devops practices, such as load balancing, auto-scaling, and error reporting. With the help of GCP, devops teams can more easily and efficiently manage the deployment and maintenance of software applications.

**In summary**, GCP offers a variety of tools and services that can be used to support devops practices, including containerization, CI/CD, monitoring and logging, and infrastructure as code. These tools and services can help to increase the speed and quality of software delivery, and make it easier for devops teams to manage the deployment and maintenance of software applications.