teleren/devto huggingface dataset:
4 great plugins to improve your Wordpress website performance
Tags: wordpress, plugins, php
Published: 2022-03-22 16:51:30

---
title: 4 great plugins to improve your Wordpress website performance 
published: true
description: some great Wordpress plugins that helped my website performance
tags: wordpress, plugins, php
cover_image: https://images.unsplash.com/photo-1489976908522-aabacf277f49?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1170&q=80
---
I created a website called [Poupa Pilim](https://www.poupapilim.com) (portuguese), which is image heavy since this is mostly supermarket flyers.

Because of that, and since [some posts are really huge](https://www.poupapilim.com/category/folhetos/pingo-doce/), I had to research for some plugins to improve my website performance, which made this beauty score:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y6qi6tpstn08vxd5m9f1.png)

So, let me show you what they are:

## 1. Bunny CDN
This is a great CDN, with servers all around the world. Ultra cheap, only 0,01$ per GB of bandwith!

## 2. The SEO Framework
You probably know Yoast, but The SEO Framework is more lightweight, simple, unbranded and extremely clear SEO solution.

## 3. WP Rocket
I bet you already came across with WP Rocket. It is just too great and completely worth the price you pay for it. I use it to minify CSS and JS, defer Javascript and delay Javascript execution, and also to preload fonts and links.

## 4. WP-Optimize - Clean, Compress, Cache
When you install and uninstall plugins, some junk just stays on the database. WP-Optimize will remove that junk and also will optimize your tables. It's free to use.

---

On top of this, I make sure that I'm running the latest PHP version (currently PHP 8.1) with some extensions, like APCu and OPCache.

Also, if your server supports that, enable HTTP2, Deflate and Brotli to get the best performance of your site.

Have fun!
Is it DFS using adjacency Matrix?
Tags: javascript, algorithms
Published: 2022-03-22 16:49:09

I am little new to Graphs part in data structures. I am trying to implement DFS using adjacency matrix. I have looked for many references in Google but I don't find a better one rather  I got the approaches to implement them. Hence, using them I started implementing DFS. 

I am posting the code here. I have written using javascript. 

Correct me if I am wrong in any way or suggest me the best way or provide me the best reference to learn. 

```
class Graph {
    constructor(size) {
        this.matrix = [];
        this.visited = {};
        this.result = [];
        const initLength = size;
        while (size > 0) {
            const arr = [];
            arr.length = initLength;
            arr.fill(0);
            this.matrix.push(arr);
            size--;
        }
    }

    addEdge(source, destination) {
        this.matrix[source][destination] = 1;
        this.matrix[destination][source] = 1;
    }

    dfs(start) {
        this.visited[start] = true;
        this.result.push(start);
        for (let i = 0; i < this.matrix[start].length; i++) {
            if (this.matrix[start][i] == 1 && (!this.visited[i])) {
                this.dfs(i);
            }
        }
        return this.result;
    }
}

const r = new Graph(5);
r.addEdge(0, 1);
r.addEdge(1, 2);
r.addEdge(2, 3);
r.addEdge(0, 3);
r.addEdge(0, 2);
r.addEdge(0, 4);

console.log(JSON.stringify(r.matrix));

console.log(r.dfs(0));
```

```
Output:

[[0,1,1,1,1],[1,0,1,0],[1,1,0,1],[1,0,1,0],[1,0,0,0]]
[0, 1, 2, 3, 4]
```

Thanks! Happy Learning :)
“We make it easy…”
Tags: nocode, opinion
Published: 2022-08-23 15:27:22

---
title: “We make it easy…”
published: true
date: 2022-03-22 16:36:44 UTC
tags: NoCode, Opinion
canonical_url: https://maxkatz.net/2022/03/22/we-make-it-easy/
---

Love this tweet.

> "We make \_\_\_\_\_\_\_ easy"  
>   
> Maybe instead of making it easy, you should just do it for me?  
>   
> The future of product isn't about making things easy.   
> It's about taking it completely off my plate.
> 
> — PC (@Patticus) [February 22, 2022](https://twitter.com/Patticus/status/1496136614568996869?ref_src=twsrc%5Etfw)

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

So many companies say something like that on their web sites.

I was thinking how this can be applied to the no-code and automation space. I believe most companies in this space (still) say “we make it easy \_\_\_\_\_\_\_\_”.

My No-Code Conf [recap](https://maxkatz.net/2019/11/21/no-code-conf-recap/) from 2019 include this paragraph:

> You will often hear that No Code will make it possible to build software faster and easier, and that’s true of course. Looking at the history of software, that’s the promise of every new technology, framework, library and programming language. The goal of every new framework, library and programming language is usually to allow to build software faster, easier, to hide the complexities and to allow to concentrate on app logic (instead of low level details). So nothing is new here.
> 
> <cite><a href="https://maxkatz.net/2019/11/21/no-code-conf-recap/" rel="nofollow">https://maxkatz.net/2019/11/21/no-code-conf-recap/</a></cite>

What do you think?
SEO Bookmarklets für Sistrix, Ahrefs und SemRush
Tags: seothemen, tools
Published: 2022-03-21 15:45:45

---
title: SEO Bookmarklets für Sistrix, Ahrefs und SemRush
published: true
date: 2022-03-21 13:54:43 UTC
tags: SEOThemen,tools
canonical_url: https://bloggerpilot.com/seo-bookmarklets/
---

![SEO Bookmarklets für Sistrix, Ahrefs und SemRush](https://bloggerpilot.com/wp-content/uploads/2022/03/seo-bookmarklets.png)

Als SEO-Profis machen wir gerne unsere eigenen Tools für SEO. In diesem Beitrag zeigen wir dir, wie du SEO-Bookmarklets für Sistrix, Ahrefs und Semrush nutzen kannst.

Der Original-Artikel erschien auf [SEO Bookmarklets für Sistrix, Ahrefs und SemRush](https://bloggerpilot.com/seo-bookmarklets/).

Ein Bookmarklet ist eine URL-Verknüpfung. Es sorgt dafür, dass eine Webseite in Chrome oder Firefox geöffnet wird. Ein Bookmarklet ist eine große Zeitersparnis. Nehmen wir an, du möchtest einen Lieblingsartikel in Pocket speichern. Anstatt sofort zu Pocket zu gehen, kannst du die Pocket-URL kopieren und in ein Bookmarklet einfügen. Dieses Bookmarklet öffnet Pocket, wenn du darauf klickst.

Mit SEO-Bookmarklets kannst du ein Bookmarklet erstellen, um deine SEO-Optimierungsbefehle auszuführen, z.B. um alle Variationen eines Keywords zu finden oder für die Linkanalyse.
Die SEO-Bookmarklets wurden von SemRush entwickelt, um den Nutzern einen schnellen und einfachen Zugang zu den Daten zu ermöglichen, die sie ständig benötigen. Im Menü der Browsererweiterung können die Nutzer auf den Reiter Bookmarklets klicken, um mit den Bookmarklets schnellen Zugriff auf dieselben Daten zu erhalten. Bookmarklets, oder Abkürzungen, ermöglichen es Webentwicklern, Analysefunktionen direkt in Websites einzubetten.
How to find the right Blockchain Experts
Tags: blockchain, distributedsystems, productivity, beginners
Published: 2022-03-22 16:26:41

Have you been looking for the best blockchain services provider to hire for quite some time now? The odds are that you have been at it for quite some time now and you are afraid of making the same mistakes again since you are here. It is normal to be afraid especially if the last blockchain services provider that you hired did not provide you with quality services for the money. However, you need to know that all you have to do when looking for the best blockchain services provider is to look at some important guidelines. Although several people do not realize, they are always some pointers that show the kind of blockchain services provider that you are able to hire. This article will help you discover all the top signs that you need to look at to know if the **[Blockchain Experts](https://imiblockchain.com)** that you are about to hire are the right fit.

One of the top things that you need to look at to determine the suitability of the blockchain services provider that you have in mind is to look at the level of expertise. It is always important to know that the quality of services that you will receive will be greatly influenced by the level of expertise of that blockchain services provider. For instance, a blockchain services provider that has been in the industry for quite some time now is more likely to provide you with quality services for the money compared to a blockchain services provider that has just joined the industry. With that in mind, you should always make sure that you look for a blockchain services provider that can prove that it deserves to be in the industry. Check the portfolio of the blockchain services provider that you want to hire to learn more about the level of expertise. **[Learn Blockchain Development](https://imiblockchain.com/learn-blockchain/)** now on this website.

The level of expertise is not the only crucial aspect that will show you the kind of blockchain services provider that you are about to pick. You need to know that you have to look for a blockchain services provider that values communication if you want to enjoy quality services for the money. Even though several clients do not see the relationship between communication and the quality of services, it is always important to note that communication plays a key role. The reason why communication is important is that it will create a seamless working relationship between you and the blockchain services provider. What this means is that there will be no delays in relying messages and providing feedback between you and the blockchain services provider that you will hire. This will improve service delivery in the long run. Check out this post for more details related to this article: https://en.wikipedia.org/wiki/Blockchain.
Learn Accessibility
Tags: discuss, a11y, beginners
Published: 2022-03-22 16:19:45

Hi Everyone, 

I'm learning accessibility as I go by reading some articles.
But I very much wanting to go deep into it.

Does anyone know some other resources to learn accessibility?
Like courses, or anything else?
Or people who I could follow for their accessibility knowledge and/or contents?
Thank you in advance! 😊
Questions to ask when approached by a recruiter
Published: 2022-03-22 16:19:05

They promise the world - and before the ink is dry on the contract the cracks start to become apparent. You don't fit the company culture, all your colleagues wear suits whilst working from home and your CEO is a psychopath... 

How can you improve your chances of getting a job you really love?

Mindset:
- A recruiter's job is to recruit and they have little technical knowledge (and will often get it wrong [sometimes it feels deliberate])
- Companies are desperate for hires and will bend the truth to get you onboard
- Remember you're bending the truth too. It's important to be mindful that everyone in the room is trying to present the best version of themselves... and that's OK.

Questions that work:
Spend time writing out the questions that matter to you, from your experience in your professional life. I like to think of this kind of task as an improvable process - good quality questions will illicit good quality responses. Create a process improvement loop by taking careful note of the responses you receive to each question and then refine your questions based on the response by rewording, replacing or keeping each question.


Have a practice. Just try turning on 'open to work' on LinkedIn for a couple of days - it's likely you will be inundated with requests from recruiters for all sorts of roles. Use these eager-beavers to hone your questions.

So to put my card on the table, here are the first set of questions I will be responding to recruiters with:

1. What are the remote working arrangements at the company, and when did the company start remote working?
2. How big is the company? What is the turnover and how many employees does it have?
3. What is the time-frame for filling the vacancy and when would they like me to start work?
4. Is there a standard tech stack across the company or does it differ per project? 
5. How is the company structured? As independently functioning teams or as a single structure with different departments (eg client management dept, operations dept etc)

I'll update with the responses I get, and how I use them to improve my questions.
Javascript Map, and How it is Different from forEach
Tags: javascript, tutorial, webdev, codenewbie
Published: 2022-03-22 16:05:31

The map method is one of the most used functions in Javascript. It is used to take arrays, and return a new array which can be changed with an attached function. When you start developing in Javascript, you'll see map everywhere. Let's look at how it works.

## How map works in Javascript
`map(`) is a method of arrays. That means you can only use map on something which is typed as an array. For example, `[ 1, 2, 3 ].map()` will work, but `14.map()` will not.

The `map()` method itself accepts one function. Let's look at an example:

```javascript
let arr = [ 1, 2, 3, 4 ];

let mappedArr = arr.map((item) => {
    return item * 3;
});

// Returns 3, 6, 9, 12
console.log(mappedArr);
```

`map()` goes through each item in an array, and returns in its place whatever you modify it with in the `map()` function. Above, we take every item in our array, and multiply it by 3.

We store this new mapped array in a variable called `mappedArr`. It's important to note that `map()` doesn't modify the original array. It simply creates and returns a new array, which we can store in a variable should we choose to.

You can modify the array in any way that you like - including by adding strings. Whatever you return in the map function, will replace that particular item in the new array.

```javascript
let arr = [ 1, 2, 3, 4 ];

let mappedArr = arr.map((item) => {
    return 'Number: ' + arr;
});

// Returns "Number: 1", "Number: 2", "Number: 3", "Number: 4"
console.log(mappedArr);
```

## Arguments in map function
As shown above, we can access the item itself in map(), but we can also access other useful things relating to the array.

```javascript
let arr = [ 1, 2, 3, 4 ];

let mappedArr = arr.map((item, index, array) => {
    return 'Number: ' + arr;
});
```

The above is the same function as before, but showing the 3 arguments available to you when you use the map() function:

- `item` - this is the value of the current array item being looped through.
- `index` - this is the index of the array that we are currently at. So if we are on the 2nd element in the array, the index will be 1 - since it starts counting from 0.
- `array` - this is the full array map was called upon - which we can access if we need to.
This gives us a lot of flexibility in how we can manipulate an array using `map()`.

## Difference between map and forEach
You might see map and forEach being used interchangeably. The difference between both of these is that forEach loops through an array, but doesn't return the array at the end. map(), on the other hand, returns a new array when it's used.

Therefore, you might want to use forEach if you don't want to return a new array at the end of your function.

## Conclusion
`map()` is used extensively in Javascript, as arrays are a major part of handling data in the language. If you are interested in learning more about arrays, [check out the cheatsheet I wrote here](https://fjolt.com/article/javascript-everything-arrays).
Understanding Distributed Systems
Tags: distributedsystems, books, beginners, computerscience
Published: 2022-03-22 16:03:16

Distributed systems are everywhere you go. Every server communicating at the moment is using some form of distributed algorithm. 

As a developer, I work with different tools and these tools allow me to make my application available at all times. It is not just availability it is more than that. Most jargon you hear for cloud and distributed systems are essentially the qualities that run the new world of software. 
 
A quick look at some of the jargon. Some words may be synonymous.
 
•	Horizontally/Vertically Scalable
•	Fault-tolerant
•	Durable
•	Resilient 
•	Replication
•	Sharding
•	Consistent 
•	Partitions
•	Elastic 
•	Eventual Consistency
•	

As a developer, how much distributed system am I required to know. The field of distributed systems is wide and mainly theoretical. Implementation of these concepts is what we are using for our work. 
 
MIT 6.824 course covers most of the things needed. Every learner must grateful to OCW. The lectures really give a sense of understanding the basics. The course includes papers to read on distributed systems which covers Google's MapReduce to Raft to Databases to Bitcoin. 
 
Martin Kleppmann's book, Designing Data-Intensive Applications is one of a kind. Diving right into key concepts, covering most of the things in distributed databases to problems involving the transactions. The book sets out to give a picture of how systems work or rather need to work to be truly distributed and consistent. 
 
Below is the jargon used in distributed systems in theoretical terms. 
 
•	Byzantine 
•	clock synchronization
•	Protocols 
•	Replication 
•	quorum 
•	state machine replication
•	two-phase commit

Where exactly is this leading us here?  Distributed systems are here to stay and understanding them better is the task for now. 
 
Distributed systems are hard. But without one in this world where things are connected, it makes no sense. There is fundamentally something beautiful about taking something hard to work with and having it work.  
 
Again, as a developer with more understanding of deeper concepts makes you aware of the systems you work with.
We developed a routing table to generate a map of your hardware distributed
Tags: opensource, python, devtool, luos
Published: 2022-03-22 15:56:58

💡 In Luos, every service inside each node owns a map of your entire system. 
https://docs.luos.io/docs/luos-technology/services/routing-table
Luos engine generates this map and allows you to find the resources you need!

![Luos engine generates this map and allows you to find the resources you need](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bz6i4553engekqkxig3w.png)
Guess the Output ??? #1
Tags: javascript, programming, discuss, beginners
Published: 2022-03-22 15:49:24

```
for (var i = 0; i < 3; i++) {
     setTimeout(() => console.log(i), i * 1000);
}
```

Options : - 

A) 0, 1, 2
B) 1, 2, 3
C) 0, 0, 0
D) 3, 3, 3

Comment with correct answer.
Is future of AI in JavaScript?
Tags: javascript, ai, python, datascience
Published: 2022-03-22 15:30:11

###Guys, I have a suspicion! **AI** with **JS**🤔

**Python** was the first computer language I learned when I was a child.

I had no idea about it at the time, and I `dropped` it halfway because I could not do anything big with it.

After that I wanted to create website and mobile applications.
For that I have been learning **HTML** starting with 
- CSS 
- JavaScript 
- Node JS
- Firebase
- MongoDB 
- React
- Graphql
- Azure
- AWS
- G-Cloud
and many more.
And also I'm still learning.

But I love to learn things like **"artificial intelligence"** right now.

So far everyone is recommending Python only to me.
So if I want to do this in Python I have to leave **JavaScript** 
for this and learn Python as my full time computer language.
Doing so will make me forget the JavaScript a little bit.

But I have no intention of giving up **JavaScript**, and I love Aladdin over **"artificial intelligence"**.

Although it has various AI Libraries in JavaScript (ex: `tensorflow.js`, `brain.js` and etc.) no company seems to use it.

---

###What am I doing now?

Continue the learning journey about AI in JavaScript ? Or should AI be converted to Python?

---

###Please provide your suggestions and comments 😢

####Which of you has this problem/confusion like me? 🙋‍♂️
Cypress test case execution in CI/CD using CircleCI
Tags: javascript, testing, cypress
Published: 2022-03-22 15:23:30

#cypressio #cypress #qaautomation #qaautomationengineer

Cypress test case execution in CI/CD using CircleCI

Test case execution in CI/CD using CircleCI

https://lnkd.in/eau4baP

https://www.youtube.com/channel/UCrRPMnWk2slXl4xFOVXfTmQ?sub_confirmation=1
Passing lots of props in Vue.js as a Pro 🧑🏼‍🚀
Tags: vue, programming, tips, productivity
Published: 2022-03-22 15:18:37

---
title: Passing lots of props in Vue.js as a Pro 🧑🏼‍🚀
published: true
description: Take advantage of Vue.js directives and pass a bunch of props at once.
tags: #vue #programming #tips #productivity 
//cover_image: https://direct_url_to_image.jpg
---

When developing a component in Vue, we often end up adding a lot of properties as the component grows and we usually tend to pass these properties individually.

To illustrate that, let's consider that we have the following `object`:
```javascript
export default {
  setup() {
    const hero = ref({
      name: 'Batman',
      realName: 'Bruce Wayne',
      identity: 'Secret',
      citizenship: 'American'
    })

    return {
      hero
    }
  }
}
```
and then we pass the properties of the `object` individually to the Hero component:

```html
<template>
  <Hero 
    :name="hero.name"
    :real-name="hero.realName"
    :identity="hero.identity"
    :citizenship="hero.citizenship"
  />
</template
```
#### Using v-bind

There is nothing wrong with the approach above, but we can make our lives easier by just passing the whole `object` using `v-bind`, and automatically all its props will be bound into the component:

```html
<template>
  <Hero v-bind="hero" />
</template
```
#### Using v-on

We can do the same with `events`, passing them via `v-on` through an `object` handler:

```javascript
const heroEventsHandler = {
  onChangeRealName: () => hero.value.realName = 'Robert',
  onChangeIdentity: () => hero.value.identity = 'Public'
}
```
**Note**: Assuming that our Hero Component expose these events: `@on-change-real-name` and `@on-change-identity`

```html
<template>
  <Hero v-on="heroEventsHandler" />
</template
```

At the end of the day, instead of having something like this:

```html
<template>
  <Hero 
    :name="hero.name"
    :real-name="hero.realName"
    :identity="hero.identity"
    :citizenship="hero.citizenship"
    @on-change-real-name="onChangeRealName"
    @on-change-identity="onChangeIdentity"
  />
</template
```
We would have something like this:

```html
<template>
  <Hero 
    v-bind="hero"
    v-on="heroEventsHandler"
  />
</template
```

How cool is that, right? Much more straightforward!

I hope you found it helpful. Leave a comment if you have used those directives before, and stay tuned for more Vue tips. 

Thanks for reading.
Pub/Sub: C implementation
Tags: c, pubsub, programming
Published: 2022-03-22 15:16:50

{% embed https://gist.github.com/nullxx/8cef5ee2ea5473e04ad1674277904cea %}

Note: this implementation is not optimized as:
- Unsubscribing sets NULL on subscriptions array. Would be good to delete NULL subscriptions from there.
- Publishing message is done sequentially. The messages will be delivered in order of subscription.
#Day 3 of Solving 450 questions[12/450]
Published: 2022-03-22 15:10:00

📅Day 3 : March 22,2022
Problems solved today :
[Merge Without Extra Space ](https://practice.geeksforgeeks.org/problems/merge-two-sorted-arrays5135/1)
[Minimum number of jumps](https://leetcode.com/problems/jump-game-ii/)

Things I learned:

1)First problem was easy to solve once you understood how they were expecting the answer to be.
2)Minimum number of Jumps(Almost had it after lot of tries but couldn't solve it at the end)
[Providing Link with all the possible answers](https://leetcode.com/problems/jump-game-ii/discuss/1192401/Easy-Solutions-w-Explanation-or-Optimizations-from-Brute-Force-to-DP-to-Greedy-BFS)
However, I used a Two pointer approach which is another method:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jnf618hyky8peaquxzu5.png)