teleren/devto huggingface dataset:
Largest 3-Same-Digit Number in String
Tags: leetcode, dsa, theabbie
Published: 2022-06-04 19:30:37

You are given a string `num` representing a large integer. An integer is **good** if it meets the following conditions:

*   It is a **substring** of `num` with length `3`.
*   It consists of only one unique digit.

Return _the **maximum good** integer as a **string** or an empty string_ `""` _if no such integer exists_.

Note:

*   A **substring** is a contiguous sequence of characters within a string.
*   There may be **leading zeroes** in `num` or a good integer.

**Example 1:**

**Input:** num = "6**777**133339"
**Output:** "777"
**Explanation:** There are two distinct good integers: "777" and "333".
"777" is the largest, so we return "777".

**Example 2:**

**Input:** num = "23**000**19"
**Output:** "000"
**Explanation:** "000" is the only good integer.

**Example 3:**

**Input:** num = "42352338"
**Output:** ""
**Explanation:** No substring of length 3 consists of only one unique digit. Therefore, there are no good integers.

**Constraints:**

*   `3 <= num.length <= 1000`
*   `num` only consists of digits.

**SOLUTION:**

    class Solution:
        def largestGoodInteger(self, num: str) -> str:
            n = len(num)
            i = 0
            mnum = float('-inf')
            while i < n:
                ctr = 1
                while i < n - 1 and num[i] == num[i + 1]:
                    i += 1
                    ctr += 1
                i += 1
                if ctr >= 3:
                    mnum = max(mnum, int(num[i - 1]))
            if mnum == float('-inf'):
                return ""
            return str(mnum) * 3
The Many Sides of an Open Source Career - Christine A.
Published: 2022-06-04 19:08:30

The Many Sides of an Open Source Career - Christine A.

What an amazing talk! Christine shared her enormous experience in Open Source Community support. She also explained which roles and career roles exist in the #OpenSourceWorld

Open Source Community Africa - thank you so much for organizing such a talk. You are my favourite Open Source Conference now :)

Link to the video: https://youtu.be/hOQ_j_k5III
Link to the festival: https://festival.oscafrica.org/
Check If Two String Arrays are Equivalent
Tags: leetcode, dsa, theabbie
Published: 2022-06-04 19:00:44

Given two string arrays `word1` and `word2`, return `true` _if the two arrays **represent** the same string, and_ `false` _otherwise._

A string is **represented** by an array if the array elements concatenated **in order** forms the string.

**Example 1:**

**Input:** word1 = \["ab", "c"\], word2 = \["a", "bc"\]
**Output:** true
**Explanation:**
word1 represents string "ab" + "c" -> "abc"
word2 represents string "a" + "bc" -> "abc"
The strings are the same, so return true.

**Example 2:**

**Input:** word1 = \["a", "cb"\], word2 = \["ab", "c"\]
**Output:** false

**Example 3:**

**Input:** word1  = \["abc", "d", "defg"\], word2 = \["abcddefg"\]
**Output:** true

**Constraints:**

*   `1 <= word1.length, word2.length <= 103`
*   `1 <= word1[i].length, word2[i].length <= 103`
*   `1 <= sum(word1[i].length), sum(word2[i].length) <= 103`
*   `word1[i]` and `word2[i]` consist of lowercase letters.

**SOLUTION:**

    class Solution:
        def arrayStringsAreEqual(self, word1: List[str], word2: List[str]) -> bool:
            m = len(word1)
            n = len(word2)
            a, b = 0, 0
            c, d = 0, 0
            while a < m and c < n:
                if word1[a][b] != word2[c][d]:
                    return False
                a, b = a + (b + 1) // len(word1[a]), (b + 1) % len(word1[a])
                c, d = c + (d + 1) // len(word2[c]), (d + 1) % len(word2[c])
            return a >= m and c >= n
Milk Video | Made with Next JS
Published: 2022-06-04 18:44:42

![Milk Video | Made with Javascript | Next JS](https://res.cloudinary.com/madewithjavascript/image/upload/v1653523394/large_milk_video_made_with_next_js_7da2d18b24.png "Milk Video | Made with Javascript | Next JS")


### Create lead generating video content

> Milk Video helps increase page conversion and drive traffic from social. Remix existing video content into high conversion trailers, snippets, and more.
> 
> ### Capture, clip and ship video content instantly
> Simply send links to your clients to capture authentic soundbites & publish on-brand clips to your website and social media in minutes.
> 
> Create social proof in minutes with Milk Video to drive conversions and save thousands on video agency costs.

## Check out more such amazing projects on our website

[Made with Javascript](https://madewithjavascript.club)

## Want us to feature your project

[Submit your Project to Made with Javascript](https://madewithjavascript.club/submit-project)


You can also write to us for any of your queries at:

[Email Made with Javascript](mailto:madewithjavascript@gmail.com)

## Project already shared on our social media handles.

| SocialMedia | SharedLink |
| ----------- | ---------- |
| Twitter | [Milk Video on Twitter](https://twitter.com/withjavascript/status/1533156481687855107?s=20&t=IIaf6P50-pGCXnW-RrzW7A)
 |
| Medium | [Milk Video on Medium](https://medium.com/@madewithjavascript/milk-video-made-with-next-js-f9504d59d18a)
 |
| Facebook | [Milk Video on Facebook](https://www.facebook.com/madewithjavascript/posts/pfbid0dgG8Ft2mihJFwj88StYH6HACWqgHMedjsRsEpTEUpJhdPfZWy1v4ayUTYyauCo8ml)
 |
| Tumblr | [Milk Video on Tumblr](https://www.tumblr.com/blog/view/madewithjavascript/686154659490152448?source=share)
 |
| LinkedIn | [Milk Video on LinkedIn](https://www.linkedin.com/feed/update/urn:li:activity:6938922758793781248)
 |
| Pinterest | [Milk Video on Pinterest](https://ReplaceLink.com)
 |

Filled Under:
 - [Made with Javascript](https://madewithjavascript.club)
 - [Made with Next JS](https://madewithjavascript.club/categories/next-js)

Make sure to give this post ❤ 50 ❤ hearts, click the 🦄 unicorns 🦄 and follow 👉 @madewithjavascript 👈 for more such awesome showcases. Show you love for the people who have worked so hard!
Cloud concepts - Basics
Tags: cloud, azure, wecoded
Published: 2022-06-04 18:43:40

Cloud for simple understanding can be considered as new way of thinking about system architecture, servers, and network bandwidth. Cloud computing is about "renting" resources vs purchasing hardware. You only pay for what you use and you are running your applications in someone else's data centers. For example Microsoft, Amazon, Google - they all have these data centers. 
What are the core cloud services that are available?

1. Compute - These can be the virtual machines or it could be a Windows or Linux server that runs in the cloud, can be a desktop or even a web application. 
2. Storage - File shares, databases or blob stores
3. Networking services 
4. Application Services 
5. Analytics 

You may have typically used all these services in the premises, but with cloud you would just pay for what you use.
I've got a Raspberry Pi 4 B, what can I do with it?
Tags: raspberrypi, discuss, linux
Published: 2022-06-04 18:32:46

I know some projects like **Pi-hole** and **Kodi**, but what super cool on Raspberry Pi 4 to install?

___

Relevant post 'What can I do with a Raspberry Pi 3' : 
{% post michael/i-just-got-a-raspberry-pi-3-what-can-i-do-with-it--4ne1 %}

___
*Edit of the 6 June :* 

The same post by @madza "What's your use of Raspberry Pi?" for more responses if you want 😎


{%post madza/what-is-would-be-your-use-of-raspberry-pi-2kgm %}

**Tips**: If you want to obtain a Raspberry Pi, [check this website to see the stock](https://rpilocator.com/) across some websites, and their prices. ✨🚀
Satisfiability of Equality Equations
Tags: leetcode, dsa, theabbie
Published: 2022-06-04 18:30:40

You are given an array of strings `equations` that represent relationships between variables where each string `equations[i]` is of length `4` and takes one of two different forms: `"xi==yi"` or `"xi!=yi"`.Here, `xi` and `yi` are lowercase letters (not necessarily different) that represent one-letter variable names.

Return `true` _if it is possible to assign integers to variable names so as to satisfy all the given equations, or_ `false` _otherwise_.

**Example 1:**

**Input:** equations = \["a==b","b!=a"\]
**Output:** false
**Explanation:** If we assign say, a = 1 and b = 1, then the first equation is satisfied, but not the second.
There is no way to assign the variables to satisfy both equations.

**Example 2:**

**Input:** equations = \["b==a","a==b"\]
**Output:** true
**Explanation:** We could assign a = 1 and b = 1 to satisfy both equations.

**Constraints:**

*   `1 <= equations.length <= 500`
*   `equations[i].length == 4`
*   `equations[i][0]` is a lowercase letter.
*   `equations[i][1]` is either `'='` or `'!'`.
*   `equations[i][2]` is `'='`.
*   `equations[i][3]` is a lowercase letter.

**SOLUTION:**

    class Solution:
        def equationsPossible(self, equations: List[str]) -> bool:
            equalGraph = {}
            inequalities = []
            for eq in equations:
                a = eq[0]
                b = eq[-1]
                opr = eq[1:-1]
                if opr == "==":
                    equalGraph[a] = equalGraph.get(a, []) + [b]
                    equalGraph[b] = equalGraph.get(b, []) + [a]
                else:
                    inequalities.append((a, b))
            for a, b in inequalities:
                paths = [a]
                visited = {a}
                while len(paths) > 0:
                    curr = paths.pop()
                    for j in equalGraph.get(curr, []):
                        if j not in visited:
                            visited.add(j)
                            paths.append(j)
                if b in visited:
                    return False
            return True
How to install wordpress online?
Tags: webdev, wordpress, devops, rkshop
Published: 2022-06-04 18:27:12

How to install WordPress online? To create a new website, can seem like a difficult task. What if I don't know how to [create a website ?](
https://www.sonoretech.com/ecrire-facebook-comment-changer-la-police/)

Will setting up your website be very complicated, and will it take a long time to start writing your first [blog post](https://www.sonoretech.com/comment-creer-un-avatar-facebook-facilement/) ? Fortunately, the process required to install WordPress is very simple, and even a complete beginner who is not tech-savvy can easily perform it red [full guide](
https://www.sonoretech.com/comment-creer-une-table-des-matieres-automatique-word/)
What's the MOST popular Go web library!?
Published: 2024-03-22 00:14:43

---
title: What's the MOST popular Go web library!?
published: true
date: 2022-06-04 18:21:24 UTC
tags: 
canonical_url: https://zamaan.hashnode.dev/whats-the-most-popular-go-web-library
---

Gorilla Mux.

Gorilla Mux (along with Websocket) is the most popular Go web library on GitHub.They collectively have 30k+ stars and 4k+ forks!

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1654366537496/8RBTe9FKL.png)

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1654366561142/eGX4Iawjf.png)

Even Go developers, who advocate doing almost everything in native Go, often admit that Gorilla Mux could be the exception.

So should you start using Gorilla Mux too!?

How does it compare with frameworks like Gin or Fiber?

Here are its pros and cons --

**Pros:**

Lightweight (it only replaces the native HTTP router & URL matcher)Flexible (most likely it won't limit your design choices)Ease of use (simple & low learning curve)Very Go-like! (especially when compared to Fiber)

**Cons:**

Obviously, it's not a framework, so it may not satisfy all your future needs.maybe that's it? :)

Now, of course, using a framework (like Gin or Fiber) can often kickstart your project much quicker.

Which technology would be the best fit depends on your exact use case and requirements.

Just keep in mind --

You don't have to use a full-fledged framework for every web project, even if many tend to believe so!

Gorilla Mux may just be all you need!
Git commands cheat sheet 2022
Tags: git, webdev, beginners, programming
Published: 2022-06-04 18:17:52

Do you want to learn some basic GIT commands? You’ve come to the right place. Read our simple cheat sheet that you can use for daily reference.

## What is git cheat sheet?
The git cheat sheet is a concise, easy-to-read document for quickly learning how to use some of the most popular and useful commands in the Git environment. It’s designed for beginners who are new to Git and have little or no prior experience with it.

## Most Common GIT Commands
A git command cheat sheet is a document that lists the most commonly used commands and their corresponding syntax.
The following is a list of git commands with syntax:

-git add -A
-git commit -m “commit message”
-git push origin master
-git pull origin master
-git clone {URL of git repository}

## Basic Commands of Git
Here are some basic GIT commands you need to know:

### #01: How to setup git config
**git config**:- can be used to set user-specific configuration values like username, email, file format, and so on.

- set a username that is identifiable for credit when review version history
`git config --global user.name`

- set an email address that will be associated with each history marker
`git config --global user.email`

- set automatic command line coloring for Git for easy reviewing
`git config --global color.ui auto`

**git init**:- initialize an existing directory as a Git 

- repository [ following Git command will create a repository in the current directory ]
`git init`

- retrieve an entire repository from a hosted location from URL
`git clone [url]`

### #02: Git Stage & Snapshot

- **git status**:- show modified files in working directory, staged for your next commit
`git status`

- add a file as it looks now to your next commit (stage)
`git add [file]`

- unstage a file while retaining the changes in working directory
`git reset [file]`

- diff of what is changed but not staged
`git diff`

- diff of what is staged but not yet committed
`git diff --staged`

- commit your staged content as a new commit snapshot
`git commit -m "name of working details "`

### #03: Git Branch & Merge
Isolating work in branches, changing context, and integrating changes

- list your branches. a * will appear next to the currently active branch
`git branch`

- create a new branch at the current commit
`git branch [branch name]`

- switch to another branch and check it out into your working directory
`git checkout`

- merge the specified branch’s history into the current one
`git merge [branch]`

- show all commits in the current branch’s history
`git log`

## [Git Commands Cheat Sheet pdf](https://blog.stackfindover.com/git-command-cheat-sheet)
Lazy load config on Laravel
Tags: laravel, webdev, php, programming
Published: 2022-06-04 18:09:21

It is common knowledge that configuration on Laravel applications are one of the very first things to load. If it is not, well, check out the application lifecycle [here](https://laravel.com/docs/9.x/lifecycle#service-providers). As part of the autoconfiguration of Laravel, everything in the config folder is considered an application configuration and loads pretty much as soon as the application is booted.

Why is this important? We will get to that in a second. First how can we achieve this.

The first step is to create a custom service provider. If you are not sure what these are, [here is the doc](https://laravel.com/docs/9.x/providers) for it.

I created one called `CustomConfigServiceProvider`. You can place this in the Providers directory. 

Next create a new custom folder for your custom configuration files. Remember, everything in config is autoloaded. I created a folder called `custom-config`

In the boot section of the provider, add the following piece of code.

```
parent::boot();
$this->mergeConfigFrom(__DIR__.'/../../../custom-config/settings.php', 'settings');
```
You are probably thinking, what is happening here? Let me break it down. Here is how your file should look:
```
<?php

namespace App\Providers\Custom;

use Illuminate\Support\ServiceProvider;

class CustomConfigServiceProvider extends ServiceProvider
{
    public function boot()
    {
        parent::boot();
        $this->mergeConfigFrom(__DIR__.'/../../../custom-config/settings.php', 'settings');
    }

    public function register()
    {
        parent::register();
    }
}
```

First since every provider is extending the base `ServiceProvider` class from the framework, we are calling `parent::boot()` to ensure the code block runs first.
Then we are merging our new configuration into the configuration set that was already loaded previously. In this case, we have a custom configuration file called `settings.php`

Now you have everything set up for your lazy loaded configuration. 

There is just one last step to complete. We need to register our service provider. In your `config/app.php` file, add your new provider in the providers array. 

Viola, you now have lazy loaded configuration. 

For the use cases, there are numerous, for instance, if you have a configuration that relies on a third-party application to have been loaded previously. More on this later.

Check out some cool features of [Laravel 9](https://dev.to/prog_25/laravel-9-best-features-55mm). Are you using lazy loaded configurations? Let me know in the comments.
Contributing to Open Source: Why? How?
Tags: opensource, github, contribute, microsoft
Published: 2022-06-04 18:07:33



In the last few weeks, I have been approached by numerous contributors-to-be, asking how they could get their first job or how they could start doing #OpenSource.
In this video, I explain how to start doing Open Source. You will learn the reasons for doing Open Source and how being a part of the #OpenSourceCommunity can benefit you.
Please stay tuned for my channels, and please do ask questions. I will post more articles and videos answering your questions.  

Link to the video: https://youtu.be/ZgwzE-r_EPo

@brjavaman, Benjamin Muskalla, Sal Kimmich, Yugo Sakamoto, Tito Sánchez - thank you for the inspiration
Reshape the Matrix
Tags: leetcode, dsa, theabbie
Published: 2022-06-04 18:00:42

In MATLAB, there is a handy function called `reshape` which can reshape an `m x n` matrix into a new one with a different size `r x c` keeping its original data.

You are given an `m x n` matrix `mat` and two integers `r` and `c` representing the number of rows and the number of columns of the wanted reshaped matrix.

The reshaped matrix should be filled with all the elements of the original matrix in the same row-traversing order as they were.

If the `reshape` operation with given parameters is possible and legal, output the new reshaped matrix; Otherwise, output the original matrix.

**Example 1:**

![](https://assets.leetcode.com/uploads/2021/04/24/reshape1-grid.jpg)

**Input:** mat = \[\[1,2\],\[3,4\]\], r = 1, c = 4
**Output:** \[\[1,2,3,4\]\]

**Example 2:**

![](https://assets.leetcode.com/uploads/2021/04/24/reshape2-grid.jpg)

**Input:** mat = \[\[1,2\],\[3,4\]\], r = 2, c = 4
**Output:** \[\[1,2\],\[3,4\]\]

**Constraints:**

*   `m == mat.length`
*   `n == mat[i].length`
*   `1 <= m, n <= 100`
*   `-1000 <= mat[i][j] <= 1000`
*   `1 <= r, c <= 300`

**SOLUTION:**

    class Solution:
        def matrixReshape(self, mat: List[List[int]], r: int, c: int) -> List[List[int]]:
            m = len(mat)
            n = len(mat[0])
            if m * n != r * c:
                return mat
            for i in range(0, r * c, c):
                mat.append([])
                for j in range(i, i + c):
                    mat[-1].append(mat[j // n][j % n])
            return mat[m:]
Final Value of Variable After Performing Operations
Tags: leetcode, dsa, theabbie
Published: 2022-06-04 17:30:35

There is a programming language with only **four** operations and **one** variable `X`:

*   `++X` and `X++` **increments** the value of the variable `X` by `1`.
*   `--X` and `X--` **decrements** the value of the variable `X` by `1`.

Initially, the value of `X` is `0`.

Given an array of strings `operations` containing a list of operations, return _the **final** value of_ `X` _after performing all the operations_.

**Example 1:**

**Input:** operations = \["--X","X++","X++"\]
**Output:** 1
**Explanation:** The operations are performed as follows:
Initially, X = 0.
--X: X is decremented by 1, X =  0 - 1 = -1.
X++: X is incremented by 1, X = -1 + 1 =  0.
X++: X is incremented by 1, X =  0 + 1 =  1.

**Example 2:**

**Input:** operations = \["++X","++X","X++"\]
**Output:** 3
**Explanation:** The operations are performed as follows:
Initially, X = 0.
++X: X is incremented by 1, X = 0 + 1 = 1.
++X: X is incremented by 1, X = 1 + 1 = 2.
X++: X is incremented by 1, X = 2 + 1 = 3.

**Example 3:**

**Input:** operations = \["X++","++X","--X","X--"\]
**Output:** 0
**Explanation:** The operations are performed as follows:
Initially, X = 0.
X++: X is incremented by 1, X = 0 + 1 = 1.
++X: X is incremented by 1, X = 1 + 1 = 2.
--X: X is decremented by 1, X = 2 - 1 = 1.
X--: X is decremented by 1, X = 1 - 1 = 0.

**Constraints:**

*   `1 <= operations.length <= 100`
*   `operations[i]` will be either `"++X"`, `"X++"`, `"--X"`, or `"X--"`.

**SOLUTION:**

    class Solution:
        def finalValueAfterOperations(self, operations: List[str]) -> int:
            x = 0
            for o in operations:
                if o[1] == '+':
                    x += 1
                if o[1] == '-':
                    x -= 1
            return x
Mulheres em Tech – Tecnologia para todas, um curso gratuito para mulheres. Inscrições até 08/06
Tags: cursogratuito, eventos, treinamento, workshop
Published: 2022-06-04 17:14:19

---
title: Mulheres em Tech – Tecnologia para todas, um curso gratuito para mulheres. Inscrições até 08/06
published: true
date: 2022-06-04 17:05:23 UTC
tags: CursoGratuito,Eventos,Treinamento,Workshop
canonical_url: 
---

O mercado de ** tecnologia ** ainda é majoritariamente dominado por homens. De acordo com dados da PNAD (Pesquisa Nacional por Amostra de Domicílios), a participação feminina em TI é de apenas 20%.

Para ajudar na busca pela equidade no setor, a Kenzie, escola de programação em parceria com a Brazilians in Tech (BiT), organização que apoia mulheres brasileiras na área de tecnologia, se reuniram para capacitar mulheres com o **curso gratuito **** de introdução à programação “Mulheres em Tech”.**

O lugar de mulher é onde ela quiser! Inclusive, em frente ao computador, escutando uma boa música e codando.

Aprenda a programar com a melhor escola de programação e também participe de um painel sobre Carreiras em Tech e de um workshop de LinkedIn & Storytelling Pessoal em 5 aulas 100% gratuitas.

![](https://guiadeti.com.br/wp-content/uploads/2022/06/mulheresintech-guiadeti-1024x675.png)

## O que vocês vão aprender?

### Oportunidades na área de programação

- Você vai descobrir o quanto programadores são valorizados tanto no mercado nacional quanto internacional.

### O básico de HTML, CSS e JAVASCRIPT

- As três linguagens mais bombadas da atualidade. Nas aulas você aprenderá como usar cada uma delas.

### A codar o seu primeiro projeto

- Você vai criar um projeto do absoluto zero. Quando terminar, poderá colocá-lo no seu portfólio.

### Módulo extra de Soft Skills

- Aprenda quais são as competências comportamentais que você precisa ter para ser bem-sucedida em seu ambiente de trabalho.

As inscrições estão abertas até quarta-feira (8) para todas as pessoas que se identificam com o gênero feminino e podem ser feitas através do site do projeto. As aulas acontecem entre os dias 6 e 10 de junho, ao vivo, no canal do YouTube da Kenzie, às 19h.

Acesse agora: [https://kenzie.com.br/eventos/braziliansintech](https://kenzie.com.br/eventos/braziliansintech)

O post [Mulheres em Tech – Tecnologia para todas, um curso gratuito para mulheres. Inscrições até 08/06](https://guiadeti.com.br/mulheres-em-tech-tecnologia-para-todas-um-curso-gratuito-para-mulheres-inscricoes-ate-08-06/) apareceu primeiro em [Guia de TI](https://guiadeti.com.br).