teleren/devto huggingface dataset:
What is an INTERFACE in JAVA? w/ examples
Tags: java, programming, interfaces, tutorial
Published: 2023-01-27 00:08:01

Hey folks! In today's post, I would like to talk a little bit about INTERFACES in Java. Let's go?

So, trying to be as basic as possible, we can start by saying that an _interface_ it's nothing else than a **contract**.
That's it! 
Do you know when you are opening a new bank account? Or, when you are signing your new rent house? What are they? Contracts! 

Basically, they are pre-defined conditions that you need to accept if you want to use them. Do you think it makes sense?

Taking that to the programming world, when we define a new interface and add on it some methods, for example:


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

Here, I am saying that, in case anyone wants to use the interface Bank, the class is forced to implement the methods _withdrawn_ and _deposit_, for example:


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

For the _BankA_ to be able to implement the interface _Bank_, it needs to implement the methods from Bank and add your own logic to them. Otherwise, Java will complain.

Also, you can notice the annotation _@Override_. In Java, that's the way to implement the methods from the interface.

Another good thing about the interfaces is they allow us to use polymorphism in Java, where I can use the reference of the interface for every class that implemented it. 
Plus, it follows one of the S.O.L.I.D principles - the letter **O** which stands for **Open-Closed Principle**. That means the class should be open for extension and closed to modification.

First, let's see a bad example:

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

Here we can notice how hard it will be to extend the class if we need to implement new banks to our application, right? Every time I'll have to add a new dependency to my BankService class and implement a new method. 
How can we avoid it? **Interfaces**!

Look at this:

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

The code is doing exactly the same thing, but now it's easy to extend the code. I just need to pass the **implementation** I want to use:

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

When I create a new instance of BankService I pass as an argument the implementation I want to use, in this case, BankA. And, if I need to implement a new bank, it's as just simple:

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

And then use it:

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

Pretty simple, don't you think?

That's it for today, folks! I hope this article can help you to better understand the interfaces and how to use them to write better code =)

If you have any questions or suggestions, feel free to leave a comment =)

See you next time.
Wire Your Ideas With React Flow
Tags: react, reactflow, wiring, javascript
Published: 2023-01-27 04:06:48

React Flow is a library for building node-based applications. These can be simple static diagrams or complex editors. You can implement custom node types and edge types and it comes with components like a mini-map and graph controls.


![example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/srd8etr44nwu5u3z5suh.png)

**Key Features**

1. Easy to use: Seamless zooming & panning behaviour and single and multi-selections of nodes and edges
2. Customizable: Different node and edge types and support for custom nodes with multiple handles and custom edges
3. Fast rendering: Only nodes that have changed are re-rendered and only those that are in the viewport are displayed
4. Hooks and Utils: Hooks for handling nodes, edges and the viewport and graph util functions
5. Plugin Components: Background, MiniMap and Controls
6. Reliable: Written in Typescript and tested with cypress

[website](https://reactflow.dev/)
[docs](https://reactflow.dev/docs/introduction/)
3 Free ways to earn loads of money online💸
Tags: tutorial, career, watercooler
Published: 2023-01-27 04:02:21

Earning that first dollar online can seem tough, but what if I tell you that I can teach you 3 ways to earn lots of real money online? All you need is an internet connection, so without further ado, let's get started!

## 1. Selling Merch Online
The idea of selling Merch online can be scary, but it's actually surprisingly easy. 

Here is a store I started a while ago: [The Coders](https://the-coders-4.creator-spring.com)

I used spring for my online Merch shop, which works quite well, and spring is also completely free to use.

If you choose to go this path, I advice you to create a unique Merch store, not just any old one. For example, I chose to make a programming merch store that sells T-shirts with funny memes on them.


![Spring Dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7qtyr6rl9rzyu2qb275c.png)


Link to Spring(Not Affiliated): [Spring](https://teespring.com/)
Link to my Merch(As Reference): [The Coders](https://the-coders-4.creator-spring.com)

## 2. Freelancing

Unlike creating a merch store, Freelancing takes effort, and freelancing is also extremely competitive.

If you don't yet know, freelancing is when you work for someone else online, and they pay you to do so.

If you are interested in freelancing, I recommend you to use fiverr or upworks to do so.

![Freelancing example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x1ag1v4pftemighep92r.png)

## 3. Buying & Selling Stocks

Buying stocks can be very risky, but if you're good at it, you can potentially make thousands of dollars. It takes time and effort, but if you are up to it, it's worth a try.

If you are interested, I'll recommend [Webull] (https://www.webull.com/) because it offers a 0% transaction fee, but you should find a stock trading platform that matches your needs.

![Stock Trading](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tn56tj1bku5xx4vf45lc.jpg)

## Conclusion

I hope you have found my tips useful, and don't hesitate to comment below. I'll try my best to respond to every single comment.
DevOps Journey
Tags: beginners, devops
Published: 2023-01-27 03:59:57

As a beginner learning DevOps is just like diving really deep in the fundamentals on computing.
At first seems hard to grasp and understand but as i keep progressing day by day it starts making sense.
I am Enjoying it!!


I will upload my notes in a few days so anyone can review them
Also the references i am using
472. Concatenated Words
Tags: java, leetcode, 100daysofcode, algorithms
Published: 2023-01-27 03:46:19

**Problem Statement:**

Given an array of strings words (without duplicates), return all the concatenated words in the given list of words.

A concatenated word is defined as a string that is comprised entirely of at least two shorter words in the given array.

 

**Example 1:**

**Input:** words = ["cat","cats","catsdogcats","dog","dogcatsdog","hippopotamuses","rat","ratcatdogcat"]

**Output:** ["catsdogcats","dogcatsdog","ratcatdogcat"]
**Explanation:** "catsdogcats" can be concatenated by "cats", "dog" and "cats"; 
"dogcatsdog" can be concatenated by "dog", "cats" and "dog"; 
"ratcatdogcat" can be concatenated by "rat", "cat", "dog" and "cat".

**Example 2:**

**Input:** words = ["cat","dog","catdog"]
**Output:** ["catdog"]
 

**Constraints:**

- 1 <= words.length <= 104
- 1 <= words[i].length <= 30
- words[i] consists of only lowercase English letters.
- All the strings of words are unique.
- 1 <= sum(words[i].length) <= 105

**Solution:**

**Code:**
```
class Solution {
  public List<String> findAllConcatenatedWordsInADict(String[] words) {
    List<String> ans = new ArrayList<>();
    Set<String> wordSet = new HashSet<>(Arrays.asList(words));
    Map<String, Boolean> memo = new HashMap<>();

    for (final String word : words)
      if (wordBreak(word, wordSet, memo))
        ans.add(word);

    return ans;
  }

  private boolean wordBreak(final String word, Set<String> wordSet, Map<String, Boolean> memo) {
    if (memo.containsKey(word))
      return memo.get(word);

    for (int i = 1; i < word.length(); ++i) {
      final String prefix = word.substring(0, i);
      final String suffix = word.substring(i);
      if (wordSet.contains(prefix) &&
          (wordSet.contains(suffix) || wordBreak(suffix, wordSet, memo))) {
        memo.put(word, true);
        return true;
      }
    }

    memo.put(word, false);
    return false;
  }
}
```
Dear Developers
Tags: webdev, career
Published: 2023-01-27 03:39:12

This is a satirical appreciation post for the modern-day warriors, software engineers.

---
As you creep to the center stage, and your career comes of age,

You may have started at uni, online or might have been a boot camp pony,

Working your way through stand-ups, reviews, politics, and the user requirement slews,

Keep that idealism intact, for your ethics are the bias those models are trained on,

Be it behind a click, a wheel, or a look (think VR), your code persists, improves, pushes on,

Sure you are in rocky terrain, uncertain weather (ever-changing versions), damaging winds (new tech), and an uphill climb (steep learning curve),

But today is the time to fix this bug, you'll have the weekend to go numb,

Don’t let the heat of the burnout get to you, take a break, get a cold brew,

Remember there is a gaming setup at home waiting for you

---

I hope you would have enjoyed it. I intend on doing more of such pieces, but if I don’t, please assume I am fixing a bug.
Agile Manifesto Explained | ISTQB Agile Tester Exam | Day 3
Tags: webdev, programming, tutorial, beginners
Published: 2023-01-27 02:53:04

In this video, We are going to Learn about the Agile Manifesto, What are 4 important Set of values that they talk about, Important Exam question.

{% embed https://youtu.be/wHOoZOebABg %}

This is Part of  ISTQB Agile Tester Certification aka Certified Tester Foundation Level - Agile Tester ( ISTQB). 

✅  Agile Manifesto - Set of Values
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan

✅ Download Notes - https://sdet.live/notes


I am going to explain What is ISTQB and Why You should take the ISTQB Agile Extension certification.

✅ What is ISTQB?
The International Software Testing Qualifications Board is a software testing certification board that operates internationally. Founded in Edinburgh in November 2002, the ISTQB is a non-profit association legally registered in Belgium.

✅ What is Certified Tester Foundation Level - Agile Tester ( ISTQB)?
Foundation Level Agile Tester
Link - https://www.istqb.org/certification-p...



✅ Why ISTQB® Certification?
- High quality syllabi: all syllabi are developed and reviewed by leading testing professionals from academia and industry.
- Global recognition: certifications are recognized globally because of the consistent application of ISTQB® policies and procedures by the member boards.
- Common language: the ISTQB® Glossary provides a common vocabulary for the profession.
Objectivity: the assessment of tester capabilities is conducted independently by ISTQB® and provides objective verification of competencies.
Adherence to a Code of Ethics: all ISTQB® certified testers adhere to the Code of Ethics defined by ISTQB®.
Public Availability: ISTQB® glossary and syllabi is made freely available on the ISTQB® website and on the Member Board websites in local languages.
Openness

Link. - https://www.istqb.org/certification-p...


✅ Main Exam Syllabus
- Agile Software Development
- Fundamental Agile Testing Principles, Practices and process
- Agile Testing Methods, Techniques and Tools
Link - https://www.istqb.org/downloads/send/...


✅ API Testing –
https://www.learnapitesting.com


✅ Cypress Tutorial with LIVE Projects –
http://cypresstutorial.com


🟢 30 Days of Automation Testing
https://go.scrolltest.com/automation

🟢 30 Days of API Testing
https://apitesting.co/30days

🟢 30 Days of Rest Assured
https://go.scrolltest.com/30days-rest...


—————————————————–
👪 Join our Community – http://bit.ly/learntesting2019

✅ Automation Tester Community – https://thetestingacademy.com

🐦Follow us on Twitter – https://twitter.com/itstechmode

📖 Like us on Facebook – https://www.facebook.com/scrolltest

🎤 Listen to our Podcast – https://anchor.fm/thetestingacademy

——————————————————

 #agilemanifesto #istqbcertification #agiletester #agilecertification #agiletesting #istqb

Diagram ref - google.com
Components of DevOps
Tags: devops, developers, devjournal, beginners
Published: 2023-01-27 02:32:00

DevOps is a set of practices and tools that help organisations to improve collaboration, automation and communication between development and operations teams. It also allows teams to work more efficiently, release software faster and improve the overall quality.


The key elements of a successful DevOps pipeline are automation, collaboration, continuous integration and deployment.

![DevOps Components](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wo1v2dol7j06f9y0ew18.png)

Thanks for reading this.

If you have an idea and want to build your product around it, schedule a call with [me](https://calendly.com/pragyanatvade).

If you want to learn more in DevOps and Backend space, [follow me](https://dev.to/pragyanatvade).

If you want to connect, reach out to me on [Twitter](https://twitter.com/pragyanatvade) and [LinkedIn](https://www.linkedin.com/in/pragyanatvade/).
🐘 PostgreSQL EoLs as a table ⏳
Tags: postgres, api, devops, tutorial
Published: 2023-01-27 02:30:22

## 🐘 About

When you want to know about [PostgreSQL](https://www.postgresql.org/) [End of Life (EoLs)](https://en.wikipedia.org/wiki/End-of-life_product), you usually start with a [Google Search](https://www.google.com/search?client=firefox-b-lm&q=postgresql+end+of+life) : 

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

## 📅 PostgreSQL Versioning Policy 

So you get to the [PostgreSQL Versioning Policy ](https://www.postgresql.org/support/versioning/):

[![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y9igj22t046o23npf4h8.png)](https://www.postgresql.org/support/versioning/)

☝️ ... but you can't really **interact/play with the underlying data** 😓

## ⏳ `endoflife.date` 

If you go to the dedicated [`endoflife.date`](https://endoflife.date/postgresql) page

[![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/31seqzr3jzhy8lj6yb0e.png)
](https://endoflife.date/postgresql)

💡... things are getting much much more interesting... especially when you notice the [`api`](https://endoflife.date/docs/api) option 🤔

## 🎯 What ya gonna do

In this post, you'll see how to **load PostgresSQL EoLs data into a regular table**, (almost) only from `psql` commands.

## 🧰 Tools

All you need here is:

- 🐘 A PostgreSQL instance 
- ⛏️ [`httpie`](https://httpie.io/) (or `curl`, ... or `wget`)
- 🪛 [`jq`](https://stedolan.github.io/jq/)
- ⌨️ Any (decent) terminal

## 🌈 Teaser 🐱

At the end of this post, you'll be able to get PostgreSQL EoLs this way:

{% youtube V1wb5dkdAPs %}

## 🎬 Demo

{% youtube LIYfZXC97C8 %}

## 🔖 Resources

{% github https://github.com/adriens/endoflife.date-nested %}

{% twitter 1618371468630560776 %}

# 🎫 Related contents

{% github https://github.com/endoflife-date/endoflife.date/issues/2380 %}
Need help please
Published: 2023-01-27 02:14:52

I have a MAC and was running node.js on VSCode just fine.

However, I did something to my files and now I get this error on every project I am trying to run my code on:

```
node:internal/modules/cjs/loader:1042
  throw err;
  ^

Error: Cannot find module '/Users/valemich/Desktop/code/src/courses/webhooks-course/run'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1039:15)
    at Module._load (node:internal/modules/cjs/loader:885:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
```

I can't use node.js at all now. Can someone help me resolve this issue. No one seems to know what the problem is. I installed with direct package and installed using Brew. I have also uninstalled as well but issue is still occurring. I am trying to run a server using express and js. thanks you.
Les 3 bibliotheques et frameworks JavaScript les plus populaires.Votre coeur balance?
Published: 2023-01-26 23:33:13

**_Les différences entre eux vous aideront à choisir pour vos projets!_**
Personnellement, je préfère la bibliothèque React...le choix est vite fait, c'est la seule des 3 avec laquelle je développe  car je ne maîtrise pas encore Angular qui est très demandé d'ailleurs et peut être rédhibitoire selon les entreprises.
Se perfectionner dans un langage ou framework particulier c'est bien mais avoir des bases et notions dans d'autres  peut nous être très utile selon le stack de l'entreprise et  en faciliter l' intégration 
#React #Angular #Vue.js  #JavaScript

https://lnkd.in/euaJr-Mh
![bibliothèque et frameworks JavaScript](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dnxuqgw5y0nt4jhuo2k9.jpg)
How to Document Your Trino Database with One Command (and Nothing to Install)
Tags: database, documentation, trino
Published: 2023-01-27 00:35:59

---
title: How to Document Your Trino Database with One Command (and Nothing to Install)
series: Document Your Database
published: true
description: Generate a description of your Trino database table structure with one command.
tags: database, documentation, trino
---

Ever wondered what the tables in your Trino database look like? Generate a text file of your Trino database with one command. You can run this on any system that has Docker installed.

For now, create a Trino database in a Docker container. Later you can use the same technique to conect to your own Trino database. Create two Docker Compose files for the Trino and SchemaCrawler containers from the [GitHub gist for this article](https://gist.github.com/sualeh/5330fe9146a372da11973fdc818db253).

Then open a command shell in the same folder that you created these files, and run:

```sh
docker-compose -f schemacrawler.yaml -f trino.yaml up -d
```

Wait for a while for the containers to start up, connect into the SchemaCrawler container by running:

```sh
docker exec -it schemacrawler bash
```

In the SchemaCrawler container shell, run SchemaCrawler against the Trino database to see your table. Run:

```sh
schemacrawler \
  --url jdbc:trino://trino:8080/ \
  --user test \
  --schemas tpch\.sf1 \
  --info-level minimum \
  --command list
```

After you have got this working, you can alter the command to show more details of the database. For example, you can run:

```sh
schemacrawler \
  --url jdbc:trino://trino:8080/ \
  --user test \
  --schemas tpch\.sf1 \
  --info-level standard \
  --command schema
```

You can save the output with an additional `--output-file share/schema.txt` argument, and the file will be created in your local directory. `schemacrawler help` will give you more information, as well as the [SchemaCrawler website](https://www.schemacrawler.com/). Now you are ready to connect to your own database. If you need help on how to construct the connection URL, take a look at [Trino JDBC Driver documentation](https://trino.io/docs/current/client/jdbc.html).
The top 6 AI 🦾 websites to save you hours of work 🚀
Tags: webdev, productivity, developers, ai
Published: 2023-01-27 00:35:00

## Introduction


- AI websites are becoming increasingly popular among web developers. 
- As technology advances, the use of AI to create more efficient and user-friendly websites is on the rise.
- With AI, web developers can quickly create dynamic and interactive sites that offer users a unique experience tailored to their needs. 
- When creating an AI website, it’s important for web developers to have access to powerful tools that help them build complex yet intuitive designs with ease.
- For example, many platforms provide sophisticated automation features such as natural language processing (NLP) or machine learning algorithms which allow for faster development times while providing better accuracy in results than manual coding alone could achieve. 
- Furthermore, there are also specialized tools available specifically designed for building intelligent user interfaces like chatbots or voice recognition software which enable customers to interact with your site in a more engaging way than traditional navigation menus would allow them too do so otherwise. 
- Finally , when developing an artificial intelligence website it’s essential that you keep up-to-date with new technologies as they become available.
- Doing so will ensure your site remains competitive within its market by offering modern features such as advanced analytics capabilities , automated customer service solutions , improved search engine optimization (SEO) techniques and much more.
- By investing time into researching these technologies you can stay ahead of the curve when designing future projects - giving yourself a greater chance at success!

### AI_Dev_Tools 

#### Here are six 🦾 AI websites that will speed up your work 🚀

🎥 {% youtube kVgAX3b1IeE%}

#### Bonus

###### 5 AI 🤖 websites to turn hours of work into minutes 🔥

🎥 {% youtube 5NCNkFgCyXg%}


### Connect with Me 😊

#### 🔗 Links

[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/)

[![twitter](https://img.shields.io/badge/twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/Mahmoud42275)
AWS Cloud Quest: Set Up a Cloud Development Environment Study Note
Tags: aws, cloud
Published: 2023-01-27 00:34:21

This is the DIY challenge of the Set Up a Cloud Development Environment task in AWS Cloud Quest.

### DIY Steps:
1. Add missing code to the `upload_file` function
    ```
    if object_name is None:
        object_name = file_name
    s3_client = boto3.client('s3')
    try:
        response = s3_client.upload_file(file_name, bucket, object_name)
    except ClientError as e:
        logging.error(e)
        return False
    return True
    ```
2. push the changes to CodeCommit
一分钟读论文：《影响大规模敏捷软件开发按时交付的因素》
Tags: productivity
Published: 2023-01-27 00:32:40

[一分钟读论文：《影响大规模敏捷软件开发按时交付的因素》](https://unbug.github.io/Factors-Affecting-On-Time-Delivery-in-Large-Scale-Agile-Software-Development/)。
荷兰代尔夫特理工大学与荷兰国际集团 (ING) 合著的论文《Factors Affecting On-Time Delivery in Large-Scale Agile Software Development》 对来自 ING 的 635 名工程师进行调查，分析了 185 个团队和 2,208 个 Epic 数据集。发现：

需求细化、任务依赖性、组织一致性、组织政治和团队的地理分布被认为对及时的软件交付有最大的影响。
项目规模、依赖项数量、历史交付绩效、团队熟悉度和开发人员经验是解释软件交付进度偏差的最重要变量。
因素按层次相互作用：组织因素被认为与人员因素相互作用，进而影响技术因素。技术因素被认为对及时的软件交付有直接影响。