teleren/devto huggingface dataset:
Devart Launched Grand Update - dbForge Studio for MySQL became available on Linux and macOS
Published: 2022-08-24 16:03:27

---
title: Devart Launched Grand Update -  dbForge Studio for MySQL became available on Linux and macOS
published: true
description: Devart rolls out a new version of dbForge Studio for MySQL that now supports Linux and macOS and provides easy and seamless connection to the latest MariaDB Server 10.9.
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---
Devart, one of the leading developers of database management software, ALM solutions and data providers for most popular database servers, released the new version of dbForge Studio for MySQL, an IDE for MySQL and MariaDB database development, management, and administration.

**What’s new in dbForge Studio for MySQL 9.1:**

Support for Linux and macOS via CrossOver
Quick access to the Getting Started, Demos, and Video Tutorials modules right from the tool
Connectivity support for MariaDB 10.9
Support for RETURNING for JSON_VALUE
Support for the formatting options for the CREATE EVENT and ALTER EVENT commands
Ability to edit PACKAGE and PACKAGE BODY in the SQL Document
Improved comparison and synchronization of integer data types on MySQL 8.0.17 or higher and Percona 8.0.17 or higher 
Support for ASC and DESC for index columns

To learn more about the recent release, please visit https://blog.devart.com/meet-dbforge-studio-2022-for-mysql-now-available-on-linux-and-macos.html

**About Devart**

Devart is a multi-product company that develops advanced tools for database development and administration, ALM solutions, data providers for database servers, as well as data integration and backup solutions.

For additional information about Devart, visit https://www.devart.com/.
Why Shallow Tests?
Tags: testing, reactnative, javascript
Published: 2022-08-24 16:02:00

Check out part 1 here: [From adopting spaghetti code to 100% test coverage](https://dev.to/c6z3h/from-adopting-spaghetti-code-to-100-test-coverage-5b6o)

### A Paradigm Shift
As the GitLab CI pipeline gets set up, merging code becomes such a drag. It takes minutes to run unit tests, and unit test coverage is lower than 10%. Getting to 80% might feel like a nightmare.

As such, here is a revisit on unit tests, this time favoring **Shallow tests** over **Mount tests**.

Talked to a colleague over tea break today, and he said that at his previous company, it was near 100% tests, and the CI pipeline took 15 minutes to run unit tests. It was such a far cry from what we have here, so I had to revisit my unit testing philosophy of: MOUNT ONLY.

### Shallow tests
While you want tests there to ensure that code changes do not break existing functionality, you also want to reduce time spent waiting for CI pipelines to run.

What I forgot previously was that unit test was just the first of many tests:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mynfp6lekd60kq1qmle3.png)

By doing full mounts, all the nested function calls end up running / rendering, which takes time.

The problem with shallow testing is that it is very limited and cannot test much functionality.

### The solution
We need to build this on SOLID foundations (.. I mean [S.O.L.I.D principles](https://www.digitalocean.com/community/conceptual_articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design) -lol-). [Single responsibility principle](https://en.wikipedia.org/wiki/Single-responsibility_principle) is a good idea to keep in mind here.

The idea is to keep unit tests having single responsibility. If a function that renders contains another function:
1. Write a unit test to test the render function render correctly, mocking the function return value, and
2. Write a unit test to test the other function.

There will be more tests to write, but it should reduce wait time for unit testing in the CI pipeline! (Let me get back to this in... 1 month or so?)
Golang array
Published: 2022-08-24 16:00:19

Hi Experts,
Am new to Golang and stuck with calling array element in Golang, on internet i don't find any example of array element with user inputs.
Here is the snippet of function which is getting failed during compile.

```
func resourceRoleManagementCreate(d *schema.ResourceData, meta interface{}) error {
	config := meta.(Config)
  resourceAction := "create"
  rc := &RoleCreate{
    Action: resourceAction,
    Resources: RoleCreateConfig{
      Name: d.Get("name").(string),
			Settings: SettingsConfig{
        Restrictions: Restrictions{
					Vms: d.Get("vms").(string),
				},
      },
			Features: FeaturesConfig{
        Identifier: d.Get("identifier").(string),
      },
    },
  }

```


Schema definition is as below:

```
// RoleConfig for Role Management
type RoleCreate struct {
	Action   string        `json:"action"`
	Resources  RoleCreateConfig   `json:"resources"`
}

type FeaturesConfig struct {
	Identifier string `json:"identifier"`
}

type RoleCreateConfig struct {
	Name     string     `json:"name"`
	Settings SettingsConfig   `json:"settings"`
	Features []FeaturesConfig `json:"features"`
}

type SettingsConfig struct {
	Restrictions Restrictions `json:"restrictions"`
}

type Restrictions struct {
	Vms string `json:"vms"`
}
```
Error am getting while compiling is as below:
```
infra8/resource_role_management.go:58:14: cannot use FeaturesConfig{…} (value of type FeaturesConfig) as type []FeaturesConfig in struct literal
make: *** [build] Error 2
```
Instance vs Class Methods in Ruby
Published: 2022-08-24 15:56:04

The term "self" in Ruby was one of the toughest things to wrap my head around. There are times when "self" refers to a class and there are times when "self" refers to an instance of that class, which affects the way we write methods.

# Classes and Instances
To understand instance and class methods, let's first dissect what instances and classes actually are. A class, essentially, is a collection of instances. If we think about it along with the database, the class represents the overall table and the instances represent each row of that table.

# Instance vs Class Methods
Now that we understand how instances and classes are related, we can talk about methods. Methods are what we use to manipulate and extrapolate details from our database. We can create methods to find, sort, delete, and so much more. The million dollar question becomes "do we want our method to affect the class as a whole, or do we want our method to affect each instance?"

### Class Methods
If we want our method to affect our class as a whole, then we need to write a class method. Class methods are usually presented with a period, such as `ClassName.method_name`. This let's us know that our "self" is the class, so our code would look something like this:
```
class ClassName
   def self.method_name
      ClassName.method
   end
end
```

### Instance Methods
If we want our method to affect each instance of the class, then we need to write an instance method. Instance methods are usually presented with a hashtag, such as `ClassName#method_name`. This let's us know that our "self" is the instance, so our code would look something like this:
```
class ClassName
   def method_name
      self.method
   end
end
```

#### Umm, okay but I'm still confused
If you're still feeling like this "self" thing is daunting, I recommend using a console to test things out. At Flatiron, we've been encouraged to start a pry session to test our methods out in the console. For class methods, we type `ClassName.method_name`. For instance methods, we need to think of a specific instance to test. One built in case is the "first" instance. That would be the first row of the table. So when testing methods in the console, we can type `ClassName.first.method_name`. 

### Conclusion
I'll leave you with something that I've repeated to myself many times: class methods affect the whole class, a.k.a. the whole table; instance methods affect an instance *of the class*, a.k.a. a row of the table.
GCP gcloud CLI command Structure Overview
Tags: gcp, googlecloud, appengine, devops
Published: 2022-08-24 15:50:00

The gcloud CLI is a set of tools used to create and manage Google Cloud Resources. By using the gcloud CLI, you can create Compute Engine Virtual Machines, VPC, Google Kubernetes Engine clusters, Dataproc clusters and jobs,Cloud SQL instances, App Engine Apps, etc.

## Most gcloud commands follow the following format:

`gcloud + release level(optional) + component + entity +
operation + positional args + flags`

## Example

`gcloud compute instances create example-instance-1
--zone=us-central-1`

**Where:**

**Release Level** refers to the command's release status. For example alpha, beta, GA. 

**Component** refers to different Google Cloud services.For example compute for compute engine, app for app engine.

**Entity** refers to the plural form of an element or collection of elements under a component. For example instances, disks, images, zones, regions.

**Operation** refers to the imperative verb form of the operation to be performed on the entity. For example describe, list, create, update, delete, import, export, copy, run, add, remove.

**Positional** args refer to the required, order-specific arguments needed to execute the command. 

**Flags** refer to the additional arguments, --flag-name(=value),
passed in to the command after positional args. For example --machine type=MACHINE_TYPE and are --preemptible
optional flags for gcloud compute instances create.

For more info, visit [https://cloud.google.com/sdk/gcloud](https://cloud.google.com/sdk/gcloud)
Luos gate: a major tool of the Luos ecosystem.
Tags: opensource, microservices, tooling, luos
Published: 2022-08-24 15:47:09

🧑🏽‍💻 Take control of any embedded service with any languages on any machine.
⏩ https://www.luos.io/docs/tools/gate

🔎 The gate is a major tool of the Luos eco-system, a simple embedded app service that can work on any MCU running Luos without any modification.
Major Update of dbForge Tools for MySQL Is Out
Published: 2022-08-24 15:40:37

---
title: Major Update of dbForge Tools for MySQL Is Out 
published: true
description: Devart released dbForge Tools for MySQL, v9.1. The most remarkable things the update brings are the availability of the tools on Linux and macOS and support for MariaDB 10.9. 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---
Devart, one of the leading developers of database management software, ALM solutions and data providers for most popular database servers, released the new version of dbForge Studio for MySQL - an IDE for MySQL and MariaDB database development, management, and administration. 

**The major news about the release:**
Support for Linux and macOS with CrossOver was added in Data Compare, Schema Compare, Query Builder, Data Generator, and Documenter.
Connectivity support for MariaDB 10.9 was introduced in Data Compare, Schema Compare, Query Builder, Data Generator, and Documenter
Support for ASC and DESC for index columns is now available in Schema Compare and Documenter
Improved comparison and synchronization of integer data types in MySQL 8.0.17 or higher and Percona 8.0.17 or higher is now provided in Schema Compare

To learn more about the recent release, please visit https://blog.devart.com/the-enhanced-dbforge-tools-for-mysql-v9-1-are-out.html

**About Devart:**

Devart is a multi-product company that develops advanced tools for database development and administration, ALM solutions, data providers for database servers, as well as data integration and backup solutions.

For additional information about Devart, visit: https://www.devart.com/.

tags: mysql, devart, dbforge, linux, mac
Find Duplicate Subtrees
Tags: python, leetcode, programming, algorithms
Published: 2022-08-24 15:32:00

Given the root of a binary tree, return all duplicate subtrees.

For each kind of duplicate subtrees, you only need to return the root node of any one of them.

Two trees are duplicate if they have the same structure with the same node values.

Input: root = [1,2,3,4,null,2,4,null,null,4]
Output: [[2,4],[4]]

Input: root = [2,1,1]
Output: [[1]]

```py
class Solution:
    def dfs(self, node, d):
        if not node:
            return 'N'
        l, r = self.dfs(node.left, d), self.dfs(node.right, d)
        path = str(node.val) + '-' + l + '-' + r
        
        if path in d:
            d[path] += 1
            if d[path] == 2:
                self.res.append(node)
        else:
            d[path] = 1
        return path
    
    def findDuplicateSubtrees(self, root: Optional[TreeNode]) -> List[Optional[TreeNode]]:
        self.res = []
        self.dfs(root, dict())
        return self.res
    
    


```
Laravel Backend Api First Template
Tags: laravel, webdev, opensource, github
Published: 2022-08-24 14:55:00

### Yo.

i have been learning and using [Laravel](laravel.com) in the past 3 years and i like it , i fell in love with its simplicity, extensive features , community and its convention over configuration principle ! if you follow the rules you can create APIs in no time !

### I. 

usually create API's and back-end projects, and Laravel is always my go to, even though its a full-stack framework but its development experience never fails me and always keeps me performing as efficient as possible .

### Yet.

I still repeat some stuff when ever i create a new project , they cant really be conventional like

-  user authentication
-  profile update and show 
-  attachments handling
 

### So.

Recently , i created a template for my future projects , it is an API first back-end that has those functionalities ready to use and it has other code that i can use as reference . it has been quite helpful and i am looking forward to make it better .

you can visit the github repo here :

{% embed https://github.com/HijenHEK/laravel-backend-template %}

it has those functionalities , feel free to comment and review it .

-  authentication system - sanctum
-  profile fetch and update data
-  reset passwords
-  email verification
-  user roles
-  user crud for admins
-  public upload example (profile picture)
-  local upload example : private attachment
-  MFA
-  social login 

### Thanks.
WPEngine and FaustJS
Tags: webdev, javascript, beginners, podcast
Published: 2022-08-24 14:54:02


Original: https://codingcat.dev/podcast/2-34-WPEngine-and-FaustJS

{% youtube https://www.youtube.com/watch?v=NmoKJZg6PFY %}

## Questions

1. Kellen can you give us some background on yourself?
2. How did you get started with WordPress and GraphQL?
  1. Why WordPress?
      1. Explain Headless WordPress
  2. Why GraphQL?
3. FaustJS - auth post preview - [https://faustjs.org/](https://faustjs.org/)
4. Demo
  1. [Atlas](https://wpengine.com/atlas/)
  2. [https://developers.wpengine.com/](https://developers.wpengine.com/)
Managing DataOps with Meltano
Tags: webdev, javascript, beginners, podcast
Published: 2022-08-24 14:49:02


Original: https://codingcat.dev/podcast/2-33-Managing-DataOps-with-Meltano

{% youtube https://www.youtube.com/watch?v=SQ79YAM4Hxc %}

## Questions

1. Douwe can you tell us more about your background?
2. Did Meltano start from the time when you were working at GitLab?
3. Melty is the Mascot for Meltano.
4. Meltano [jobs](https://boards.greenhouse.io/meltano) [https://boards.greenhouse.io/meltano](https://boards.greenhouse.io/meltano)
5. How does Meltano differ from something like Cloud Formation?
6. Demo showing a speed round of how to use Meltano.

### Links

[https://softwareengineeringdaily.com/2021/06/30/meltano-elt-for-dataops-with-douwe-maan/](https://softwareengineeringdaily.com/2021/06/30/meltano-elt-for-dataops-with-douwe-maan/)

## Git Repo

[https://github.com/DouweM/purrfect-dev-demo](https://github.com/DouweM/purrfect-dev-demo)
Ionic 6
Tags: webdev, javascript, beginners, podcast
Published: 2022-08-24 14:44:07


Original: https://codingcat.dev/podcast/2-32-ionic-6

{% youtube https://www.youtube.com/watch?v=z21vYzGCN_g %}

## Questions

1. Can you tell us more about yourself?
2. How did you get involved with Ionic?
3. What is the difference between Ionic now and before?
4. How did you use Stencil to build out some of the components?
5. Is there an advantage to using web components over framework components?
6. Is this considered a design system?
7. Web vs Mobile - Capacitorjs.com
8. What is new in Ionic 6?
9. Demo

## Additional Links

* [Capacitor.js](https://capacitorjs.com/)
* [Stencil.js](https://stenciljs.com/)

## Setting up an Ionic Project

Installing the CLI

```bash
npm i -g @ionic/cli

```

To crate your application you can run the below command.

> Choose option no if you would like to remain in the console.

```bash
ionic start

```

![](https://media.codingcat.dev/image/upload/v1655748588/main-codingcatdev-photo/e7c4975e-446b-464b-a0fe-a0897ba4a2c2.png)

You can choose any project type but Mike covered how to start with a blank project. This will automatically enable capacitor and install all of the correct packages.

![](https://media.codingcat.dev/image/upload/v1655748589/main-codingcatdev-photo/334927b9-135e-440d-a950-69a9bc3aaab1.png)

> Warning this will run a long time when installing dependencies

![](https://media.codingcat.dev/image/upload/v1655748589/main-codingcatdev-photo/11b5c565-76ba-42b7-a10d-2e3712a355ed.png)

![](https://media.codingcat.dev/image/upload/v1655748590/main-codingcatdev-photo/6e6b333f-797a-4b16-ba70-9373cee92183.png)

At the very end you should see this message

![](https://media.codingcat.dev/image/upload/v1655748588/main-codingcatdev-photo/b0ac2af6-4467-4475-8fa9-f6ea66a1ade7.png)
Creating a Standardized Design System for the Web
Tags: webdev, javascript, beginners, podcast
Published: 2022-08-24 14:39:02


Original: https://codingcat.dev/podcast/2-31-creating-a-standardized-design-system-for-the-web

{% youtube https://www.youtube.com/watch?v=yfV2jkQgwUI %}

## Questions

1. Can you tell us about your background?
  1. Salesforce [LWC](https://developer.salesforce.com/docs/component-library/documentation/en/lwc) web component framework.
2. Why do web components not get used more?
3. How did Open UI get started?
4. Why do we need Open UI?
  1. browser compatibility
5. What components are available?
6. Accent Color Support - [https://caniuse.com/?search=accent](https://caniuse.com/?search=accent%20)
7. Select Menu Example - [https://css-tricks.com/the-selectmenu-element/](https://css-tricks.com/the-selectmenu-element/)
8. [Nicole Sullivan](https://twitter.com/stubbornella) Google Chrome team, worked with
9. How to get involved?
10. What needs work?
11. CSSWG and Houdini
How to use Heroku
Published: 2022-08-24 14:39:00

How to gain access to your heroku apps. I know heroku does not have a GUI (user interface) just like GitHub.com, If you have a heroku app you need to access, you can follow these steps.



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

## **How do you gain access to your heroku apps ?**

#### Create a folder
* Create a folder and name it *heroku-project*
* Open the folder `cd heroku-project`

#### Open terminal
* Open the terminal and run the following commands

**1** Login to your Heroku acount using the terminal.
```
heroku login
```
**2** Get a list of all the apps that belong to your account.
```
heroku apps
```

**3** Get information about a particular heroku app.
```git
heroku apps:info <heroku app name>
```

**4** To download the heroku app locally to your device, copy and paste the URL into your terminal. 

```git
git clone <heroku app url>
```

**git clone** will download the heroku app into the folder and you have to `cd` into it, Let's go into the directory:

```
cd <heroku app name>
```

## How to rename your app

> To rename an app named "oldname" to "newname", run the following 
> command from your terminal.

```
heroku apps:rename <newname>
```

swap out newname with the name that you want to change to

:smile: enjoy, do whatever you want :wink:


<a href="https://www.buymeacoffee.com/ifeanyichima" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174"></a>


**Thank you, Please follow me**

[![HTML](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://linkedin.com/ifeanyi-thankgod-chima)&nbsp;[![GitHub](https://img.shields.io/badge/GitHub-100000?style=for-the-badge&logo=github&logoColor=white)](https://github.com/masterifeanyi)
Day3
Published: 2022-08-24 14:34:05

Today I finished one reading task and two listening tasks. 
I am glad to made progress than that of before. 
Most of the mistakes can be owed to my poor vocabulary amount. 
Now I have finished remembering 300 words today and I am going to deal with the rest of 200 words. 
I plan to do some practices of speaking task, but I have to find a partner to point out the errors of my pronunciation.
QuickNode Builds Infrastructure for the Future
Tags: webdev, javascript, beginners, podcast
Published: 2022-08-24 14:34:02


Original: https://codingcat.dev/podcast/2-30-quicknode-builds-infrastructure-for-the-future

{% youtube https://www.youtube.com/watch?v=T5ap8kv_-LQ %}

## Questions

1. Job change, your background, and what has happened since we last chatted?
  1. [Some Antics Dev on Twitch](https://www.twitch.tv/someanticsdev)
2. What is QuickNode?
3. Why are you excited about this technology?
4. What is the difference between wallets like [Coinbase](https://www.coinbase.com/wallet) or [Metamask](https://metamask.io/)?
5. [Solidity](https://docs.soliditylang.org/en/v0.8.14/) Smark Contracts.
6. Good docs and info around [Hardhat](https://hardhat.org/).
7. Why is there a gas transaction fee?
Women of Jamstack
Tags: webdev, javascript, beginners, podcast
Published: 2022-08-24 14:29:03


Original: https://codingcat.dev/podcast/2-29-women-of-jamstack

{% youtube https://www.youtube.com/watch?v=NoxddRpApOs %}

## Questions

1. Brief introduction for each person
2. Where did the idea for Women of Jamstack come from?
3. What got you into the Jamstack?
4. What is the Jamstack?
  1. [https://whitep4nth3r.com/blog/what-is-jamstack/](https://whitep4nth3r.com/blog/what-is-jamstack/)
5. Favorite Community to be part of?
  1. [https://redwoodjs.com/](https://redwoodjs.com/)
6. Why use the Jamstack?
7. How can we help support each other? 
  1. https://developers.google.com/womentechmakers
  2. Find a Male voice to help push your voice in Tech!
  3. [https://unbreak.tech/](https://unbreak.tech/)
8. How can we get equal pay for women?

## Links

* [Women of Jamstack](https://womenofjamstack.com/)
* [Salma building prototype built in under 7 minutes](https://dev.to/whitep4nth3r/watch-the-women-of-jamstack-prototype-get-built-and-deployed-in-under-7-minutes-bia)
Next.js Script with Partytown Web Workers
Tags: webdev, javascript, beginners, podcast
Published: 2022-08-24 14:24:03


Original: https://codingcat.dev/podcast/2-28-nextjs-script-with-partytown-web-workers

{% youtube https://www.youtube.com/watch?v=Db-X9PWuSAg %}

## Questions

1. How would you best describe Partytown, and the issue it is trying to solve?
2. Can you explain what the heck a Service worker is and how XHR gets involved in the process?
3. [Builder.io Performance Insights Tool](https://www.builder.io/c/performance-insights)
4. [Next.js RFC for Partytown](https://github.com/vercel/next.js/discussions/31517)
5. What other frameworks work with Partytown?
6. Why is this important to have [Partytown in Next.js](https://nextjs.org/docs/basic-features/script#off-loading-scripts-to-a-web-worker-experimental)?