teleren/devto huggingface dataset:
Pokémouille - A modern Pokédex (part 1)
Tags: webdev, beginners, javascript, svelte
Published: 2023-05-07 21:26:39

I am a big fan of Pokémon games, grew up with them, and still love them at 21. However, I've always found the available resources lacking in one way or another. Smogon's Pokedex offers easy accessibility but has an awful-looking UI, while Bulbapedia provides a vast amount of information but is difficult to navigate quickly. This led me to believe that there is room for improvement, and that's when I discovered the PokeAPI API.

## Help me pwease ;(
But before I dive into the details of Pokémouille, I want to mention that the project is open-source and available on [Github](https://github.com/Vaalley/pokemouille) under the MIT license. As a beginner, I'm actively seeking contributors and individuals who can help me make this project even better. If you're interested in contributing, please feel free to check out the project on Github and submit a pull request. I would greatly appreciate assistance with various aspects, especially UI and web design.

## Caching With node-cache
The first challenge I tackled was implementing caching. Being a zoomer web dev, I sought advice from ChatGPT and realized the importance of caching. After conducting some research, I started working on it. I created a barebone SvelteKit project, added TailWind, and voila! I began displaying data on the page. Getting caching to work early on was crucial as it motivated me to accomplish more (Please note that caching doesn't work when hosted on Vercel https://pokemouille.vercel.app/ (start typing to see stuff happening, though I recommend localhosting the project instead), but it does work in localhost).

## Why SvelteKit?
Simply put, I chose SvelteKit because I genuinely enjoy working with it. No jokes here.

## Current features
- Caching using node-cache
- `pokemon/pokemon-name` endpoint that displays basic information
- Code organization: I attempted to split the code into different JavaScript files, which can be found in the `src/lib` folder.

## Conclusion
I have high hopes for this project and believe that sharing it *somewhere* can help me connect with coding partners and learn from them throughout the journey. Hopefully, this brief and poorly written post will catch the attention of generous veterans willing to invest some of their time in this project.

If you wish to contact me personally, here's my Discord: Valentin#9648
Planning Ahead: Goals for the Week
Tags: webdev, javascript, programming, react
Published: 2023-05-07 21:26:08


Hey everyone! It's Day 97 of my #100DaysOfCode challenge, and today I decided to switch things up a bit. Instead of diving into my main project, I shifted my focus to my blockchain course project and tackled some LeetCode problems. It was a refreshing change of pace!
Looking ahead, I've outlined a clear plan for the upcoming week. Here's what's on the agenda:

1. Fine-tuning the Undo Functionality: After successfully implementing it for one user type, I'm confident that extending the undo functionality to the other user type will be a smooth process.

2. Add the functionality for the like and unlike buttons, following a similar logic.

3. Removing Matches Permanently: It's time to tackle the task of permanently removing matches, ensuring they don't appear in the user's swipe cards anymore.

4. Integrating Google OAuth and User Preferences: To further enhance the app's functionality, I'll be working on implementing Google OAuth for seamless sign-up and sign-in.
Additionally, I'll work on user preference-based filtering to provide a personalized experience.

While the last two tasks mentioned in point 4 might take some additional time beyond this week, I'll try to complete them soon.

Wishing you all an incredible week ahead filled with exciting coding adventures! Stay tuned for more updates on my journey.
POTMY WEB-APP
Tags: webdev, javascript, api, programming
Published: 2023-05-07 21:03:30

Web application written in javascript that uses the spotify rest api to search and listen to music by creating a playlist of the searched tracks.

Search ways :
1)-**Random** : 
based on an artist.
2)-**Specific** :
based on title and artist

[https://github.com/insidbyte/Potimy_App](url)
Drop Microsoft's LinkedIn for Fediverse's Mastodon
Tags: mastodon, linkedin, career, degoogle
Published: 2023-05-07 20:53:28

There is no real viable alternative to LinkedIn currently. You can accumulate current and past coworker email addresses and communicate occasionally. You can create a cv for your website.

Many people are on Mastodon now. I am proposing the following:

* If you are creating a job posting,  offer to use a Mastodon profile instead of a LinkedIn profile

* If you are a job seeker, connect with your coworkers over Mastodon instead of LinkedIn. Link to your resume from Mastodon and delete your LinkedIn profile

This is a way to take back our privacy and stop feeding our data to Microsoft for harvesting and targeting.
{#4}Primitives and Objects in JavaScript | JavaScript
Tags: javascript, programming, tutorial, devops
Published: 2023-05-07 20:51:06

// In Javascript 7 Primitive Data type 
// string,number,bigint,boolean,undefined,symbol,null
let a = null;
let b = 345;
let c = true; // can be also false 
let d = BigInt("567")
let e = "Sage"
let f = Symbol("I am a nice symbol")
let g = undefined
console.log(a, b, c, d, e, f, g)
// console.log(typeof d)

// Object in Javascript  // In JS its kind of dictionary // object are non primitive data types 
// const {
//   "Sage": ture,
//   "Avinash": False,
//   "Sunny": 00,
//   "Rohan": undefined,
// }
// console.log(item["Sunny"])[](https://replit.com/@SkSage/4Primitives-and-Objects-in-JavaScript#index.js)
Netflix's DevOps Journey: From DVD Rentals to Global Streaming Dominance
Tags: netflix, devops, containers, aws
Published: 2023-05-07 20:39:13

**Introduction: Unveiling the Secrets Behind Netflix's Global Success**


Yesterday, after watching a movie on Netflix I thought, how did Netflix become globally the most used streaming service, only with a single video-streaming application? After studying a little I got to know that, most of its success is owed to its ability to adopt new technologies and implement them into its DevOps approach. This allows Netflix to innovate quickly to meet consumer demands and enhance user experiences with many business benefits.

**Netflix Is a master of DevOps.**

Netflix has influenced the tech world by setting new standards in IT and leaving many top tech companies behind in terms of tech innovations. It has nearly 209 million subscribers & streaming in over 190 countries.

DevOps approach helped them to push new features faster, and achieve near-perfect uptime. This increased number of subscribers and streaming hours.

Their journey towards DevOps began in August of 2008, when they experienced a major database corruption and for three days could not ship DVDs to their members. That is when they realized that they had to move away from vertically-scaled single points of failure, like relational databases in a datacentre, towards highly reliable, horizontally-scalable, distributed systems in the cloud.

When they switched from delivering DVDs to streaming videos over the internet, there weren’t many tools available that could help the company’s massive cloud infrastructure to run smoothly.
Firstly, Netflix moved its infrastructure to the cloud. Now they were able to scale their services. This process took several years to complete.

They realized the scalability advantages of the cloud and used AWS to handle the load of building the best data centers. So, they could focus on their product only.

Netflix also implemented containerization. Due to this, they had consistency between environments & which helped them with scaling, reliability, and efficient rollbacks.

Afterward, they developed their container management tool called Titus. Titus provided Netflix scale cluster, resource management, and container execution with deep Amazon EC2 integration and common Netflix infrastructure enablement.

So nowadays Netflix can easily cope with issues like partial service outages on its own within a significantly less time period.
Next.js Project - full amazon clone
Tags: nextjs, react, tailwindcss, mongodb
Published: 2023-05-07 20:18:10

Hello everyone 👋, this is my first post in dev community and i decided to put the my first Next.js project for give your opinion for 🚀 improve my project.
this project use Next.js / React / Tailwindcss / Redux-ToolKit and MongoDB and looks like amazon website.

> please see the my first project and give me a feedback.
and if this project helpful for you, give me a start on my github.

>_ GitHub source: https://github.com/no2ehi/full-amazon-clone
>__ live demo: https://full-amazon-clone.vercel.app/

## Features: 
- Home Page with Swiper
- Product Page includes Sizes, Colors...
- Add Comment with images For Product
- Cart Page
- Checkout Page with Coupon section
- Order Page with Payment
- Profile page (address, list orders, reset password,...)
- Login/Signup User Account
- Google / GitHub Authentication
- Search Page
- Browse Page (Filter By Category, Size, Color, ...)
- Admin Dashboard (add prodcut, category, sub category,...)
- New Features... (coming soon)

thanks.
What is JavaScript
Tags: javascript, webdev, learning, programming
Published: 2023-05-07 20:17:15

## What is JavaScript?
JavaScript often abbreviated as Js, is a lightweight programming or scripting language that is used to make dynamic and interactive web pages.

It is also referred to as an object-based scripting language with first-class functions. 

This means functions are treated as values that can be assigned to variables, passed as arguments to other functions, and returned as values from functions. In other words, functions in JavaScript can be used just like any other data type

For instance, you can create a function and assign it to a variable, just like you would assign a string or a number to a variable. You can then pass that variable as an argument to another function or use it as a value in an expression.

```js
const sayHello = function(name) {
  console.log(`Hello, ${name}!`);
};
```

```js
function greet(greeting, name) {
  greeting(name);
}

greet(sayHello, 'Alice');
```

In this example, we define a greet function that takes a greeting function as its first argument and a name as its second argument. When we call greet with the sayHello function and the name 'Alice', it calls the sayHello function with the name 'Alice', which logs the message "Hello, Alice!" to the console
Co-creating with users leads to positive product management outcomes.
Published: 2023-05-07 20:07:22


![Dev team comic ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fsvg0j4otyyoipndgwka.png) **No matter how much AI technology is provided to product and development teams, the hard truth remains: users still need to love and want to pay for what you're making.**

An effective way to develop a product is to collaborate with the right group of early users in co-creating the product. [WVS](https://about.wvs.io/) is an excellent example of this, and we used it to start this process. For several months, we have been in a private whitelist with a cohort of users who intend to use WVS to speed up their team's velocity in creating projects with game engines like Epic's Unreal Engine and Unity.

We recognize that game development teams use various tools, but we aim to push the limits of what is achievable here. Therefore, we chose to co-create WVS with game development teams. We shared Slack or Discord channels and regularly showed them the product to get their feedback on it. We concluded that it was ready to be used by a broader user set only when the original alpha group was immensely satisfied with the product. This approach is highly recommended for early product development teams to build successful products.

It is crucial that every engineer, product manager, and designer crafting the product listens to users and iterates quickly by releasing features that users can test. Obtaining real-world data from users is pivotal to understanding how the product feature is being used. Ensuring that the entire team understands what is or isn't working is critical to advancing product development.

I have found that using this pattern over decades of creating consumer digital media products and enterprise SaaS products has led to successful outcomes.

I believe that obtaining feedback from the right users in the early stages of product development is crucial. My experience has taught me and my teams that involving a select group of users in the co-creation process is an efficient way to ensure that the product is tailored to their needs and solves narrow problems, while also allowing the product to scale broadly to solve additional requirements. We have found that it is essential to work with a cohort of users that have a genuine interest in the product and are willing to provide constructive feedback.

I recommend that early product development teams thoroughly consider the benefits of involving co-creation with a select group of users to develop successful products. In my experience, building products with a lot of user empathy aligns product teams with users' product use. So, listening to user feedback, iterating quickly, and obtaining real-world data are all critical components of this process. By following this pattern, we believe that teams can develop products that not only meet user needs but also exceed expectations.
Strings as template parameters (C++20)
Tags: cpp, programming
Published: 2023-05-07 19:29:49


First if we want to create a new type for a template parameter we need to create a structural type, this means we cannot use private members or functions. 

Our compile time string will contain our string and it will not use `new` or `delete`, it can be possible to use `new` and `delete` in a `constexpr` function block but in this case we cannot hold dynamic memory in a lifetime `constexpr` variable.

I wrote the following template which it holds a fixed string, and can be used with templates as well.

```cpp
#include <algorithm>

template<std::size_t N>
struct CompTimeStr {
    char data[N] {};
    
    consteval CompTimeStr(const char (&str)[N]) {
        std::copy_n(str, N, data);
    }

    consteval bool operator==(const CompTimeStr<N> str) const {
        return std::equal(str.data, str.data+N, data);
    }

    template<std::size_t N2>
    consteval bool operator==(const CompTimeStr<N2> s) const {
        return false;
    }

    template<std::size_t N2>
    consteval CompTimeStr<N+N2-1> operator+(const CompTimeStr<N2> str) const {
        char newchar[N+N2-1] {};
        std::copy_n(data, N-1, newchar);
        std::copy_n(str.data, N2, newchar+N-1);
        return newchar;
    }

    consteval char operator[](std::size_t n) const {
        return data[n];
    }

    consteval std::size_t size() const {
        return N-1;
    }
};

template<std::size_t s1, std::size_t s2>
consteval auto operator+(CompTimeStr<s1> fs, const char (&str) [s2]) {
    return fs + CompTimeStr<s2>(str);
}

template<std::size_t s1, std::size_t s2>
consteval auto operator+(const char (&str) [s2], CompTimeStr<s1> fs) {
    return CompTimeStr<s2>(str) + fs;
}

template<std::size_t s1, std::size_t s2>
consteval auto operator==(CompTimeStr<s1> fs, const char (&str) [s2]) {
    return fs == CompTimeStr<s2>(str);
}

template<std::size_t s1, std::size_t s2>
consteval auto operator==(const char (&str) [s2], CompTimeStr<s1> fs) {
    return CompTimeStr<s2>(str) == fs;
}
```

This template will let us to operate over strings at compile time, we can compare and concatenate them at compile time.

Each time we concatenate strings it will return a new `CompTimeStr<N>`.

This lets us a world of possibilities, we could even create a search function to find specific words in our string and its position.

## Usage example
This is a basic usage of `CompTimeStr<N>`

```cpp
#include <iostream>

template<CompTimeStr str>
constexpr auto addBar() {
    return str + " bar";
}

constexpr CompTimeStr str = addBar<"foo">();

int main() {
    std::cout << str.data << std::endl;
    std::cout << std::boolalpha << (str == "foo bar") << std::endl;
}
```
The output will be:

```
foo bar
true
```
If we look at the non-optimized assembly output, we will find this:

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

We can see `foo bar` concatenated at compile time and `(str == "foo bar")` condition precalculated as well.
Revolutionizing web design with Unicorn Platform's AI website builder
Tags: ai, webdev, webdesign
Published: 2023-05-07 19:27:45

Are you a developer or a SaaS entrepreneur looking to revolutionize web design? Look no further than Unicorn Platform's AI website builder! With a variety of articles available on their blog, you can learn [how to use Unicorn Platform's AI](https://www.unicornplatform.com/blog/how-to-use-unicorn-platforms-ai-for-building-websites) to create stunning websites in just minutes.

Start with "[How to Use AI to Build Website](https://www.unicornplatform.com/blog/how-to-use-ai-to-build-website)," which provides a comprehensive overview of Unicorn Platform's AI and how it can be used to streamline web design. From there, explore "[Craft Stunning Pages With Unicorn Platform's AI Page Builder](https://www.unicornplatform.com/blog/craft-stunning-pages-with-unicorn-platforms-ai-page-builder)" and "[AI Building Websites: Unicorn Platform Landing Pages Simplified](https://www.unicornplatform.com/blog/ai-building-websites-unicorn-platform-landing-pages-simplified)" to learn how to create beautiful and functional landing pages.

If you're interested in exploring other AI website builders, check out "[Create Amazing Websites With the OpenAI Website Builder](https://www.unicornplatform.com/blog/create-amazing-websites-with-the-openai-website-builder)" and "[2023 Top Free Website Builder AI: Unlock the Power of Unicorn Platform](https://www.unicornplatform.com/blog/2023-top-free-website-builder-ai-unlock-the-power-of-unicorn-platform)" for a broader perspective on the industry.

And for those looking to take their web design to the next level, "[Get Revolutionary Results With Website Building AI - Unicorn Platform](https://www.unicornplatform.com/blog/get-revolutionary-results-with-website-building-ai-unicorn-platform)" and "[Power Up: Revolutionize Web Design With ChatGPT Website Builder](https://www.unicornplatform.com/blog/power-up-revolutionize-web-design-with-chatgpt-website-builder)" offer insights into how AI can be leveraged to create truly innovative websites.

So what are you waiting for? Unlock the power of [AI website building with Unicorn Platform](https://www.unicornplatform.com/blog/make-websites-in-minutes-artificial-intelligence-website-builder) and start creating stunning websites today!

Let's connect. I share web development, Web design, my journey and much more on [my Twitter account](https://twitter.com/sidi_jeddou_dev).
Maintaining and Supporting Over 50 Services with Java, Apache Camel, and ActiveMQ/Kafka.
Tags: java, dlq, maintaining
Published: 2023-05-07 19:12:02

Maintaining and supporting over 50 services can be quite a challenging task, but with the right tools and processes in place, it can become a manageable task. In this blog post, we will share some of our general experiences on how we maintain and support these services.

We are running our services in java using the apache camel framework and using activeMq or kafka as a message bus system. All of our services implement the Dead Letter Queue (DLQ) pattern, which is implemented on the framework level. The modules of our services are strictly divided into filter, enrich, transform or send.

One of the daily tasks of our support team is to check if messages are failing and then contacting the stakeholder to determine whether we should dump and forget the message or replay it. It can get tedious to communicate with the creator or receiver of the message and wait for their response, as we are just a "man in the middle" and do not have any ownership over the content of the message.

However, our centralized logging and monitoring system, consisting of log4j and fluentd, has proven to be a useful tool. The logs are accessible via openSearch and allow us to quickly identify any issues. Monitoring is handled by Grafana and Prometheus as a data source, while Opsgeni serves as our alerting system. With all these tools in place, we are quickly alerted whenever something goes wrong, allowing us to address it promptly.

Automated testing is also crucial in maintaining our services. We rely on integration tests based on jbehave, which helps us to detect issues early in the development cycle. We have also implemented a standard failure handling mechanism that is implemented at the framework level. This mechanism handles error messages and puts them on the right dead letter queue while also implementing an automated retry mechanism.

In conclusion, maintaining and supporting over 50 services can be quite challenging, but with the right tools, processes, and mindset in place, it becomes a manageable task. Good communication, automated testing, a robust monitoring system, and a profound failure handling mechanism are all essential aspects of maintaining these services. By leveraging these tools and processes, we ensure that our services remain reliable, performant, and meet our stakeholder's needs.
Websites to practice anything(free), Tech only!
Tags: programming, webdev, javascript, beginners
Published: 2023-05-07 18:34:12

A learner like me?

Then you must read this post,
In our technical world if we want to survive then we must learn new technologies and must practice by making Projects.

So I came across with some websites to over come this fear,

Use these sites for practicing
 **Web Development, 
Python, 
JavaScript, 
SQL, 
as well as DSA:**


- **_The Odin Project_**

Learn HTML, CSS, JavaScript, and Node.js while building projects.

➟[Link 🔗](theodinproject.com)


- **_GeeksforGeeks - Python Practice Exercises_**

It helps you learn Python. Questions range from basic to advance on core Python concepts and applications of Python in various domains.

➟ [Link 🔗](geeksforgeeks.org/python-exercis…)



- **_JavaScript30 by Wes Bos
_**
Build 30 Vanilla JavaScript projects in 30 days.

➟ [Link 🔗](javascript30.com)


- **_SQL Zoo_**

Learn SQL using practice methods.

➟ [Link 🔗](sqlzoo.net)


- **_Pramp_**

Practice Data Structures and Algorithms Interviews.

➟ [Link 🔗](pramp.com/dev/uc-data-st…)


For Frontend project you can read this post too,
[CODEMENTOR](https://dev.to/saifullah/learn-programming-by-making-projects-3c1d)


So that's all stop scrolling and start hunting 🙌