teleren/devto huggingface dataset:
Microservice: Autonomous Services #1
Published: 2023-04-19 07:37:41

The concept of "autonomous services" is one of the fundamental principles of microservices architecture. It refers to the idea that each microservice should be an independent software unit with its own functionality and unique responsibility.

This means that each microservice must be able to perform its functionality autonomously, without relying on other microservices to perform its tasks. This independence is important because it allows microservices to be developed, tested, and deployed independently of each other, which increases development agility and allows each team to work at their own pace.

In addition, the independence of the services allows them to be scaled independently of each other, which is important to handle variable traffic and ensure high availability of the system as a whole.

In summary, the concept of "autonomous services" is fundamental to microservices architecture, as it allows each service to be developed, tested, deployed and scaled independently of each other, increasing development agility and system availability as a whole. all.

<br />

________________________[next page >>](https://dev.to/israellopes/microservice-communication-via-network-2-1kg)_______________________

[![Texto alternativo da imagem](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ds4alkts3uxq0dsco0nv.png)](https://www.linkedin.com/in/israel-lopes-419a32189)
A Curated List of 10 Sites to Submit Your Side Projects.
Tags: sideprojects, indiehacker, startup, list
Published: 2023-04-19 07:26:41

Hey developers, this is Morgan, the founder of Gemoo.

With my partner, I recently introduced [Gemoo Recorder](https://gemoo.com/tools/screen-recorder/) and[ Gemoo Snap](https://gemoo.com/tools/screen-capture/). Due to our initial lack of funding, we had to look for some free platforms in an effort to increase traffic to our website.

So we gathered a lot of resources—whether ones we discovered on our own or were recommended by others—and submitted them. Fortunately, it worked on a few platforms. Since then, our traffic has been continuously increasing.

Now, I want to share with you guys the 10 best-working sites we spotted and wish you good luck as well! 👇👇👇

[A list of 10 sites to submit your product at the early stage](https://app.gemoo.com/share/home?codeId=vzeNRQz8JYzXa)

👆👆👆By clicking above, you'll go to a list my partner created with Gemoo to demonstrate the platform that, in our opinion, is most effective for generating visitors. 

In order to take a glance at the landing page and add some details, such as how much traffic it has brought us, and how much traffic it has for one month, we added some recording videos, YouTube videos, as well as screenshots.

Hope you'll find it useful! 

I'd also like to know which platform works best for you.🏆
Checking the Number of Database Connections
Published: 2023-04-18 07:02:48

Background
If the number of connections reaches its upper limit, new connections cannot be created. Therefore, if a user fails to connect a database, the administrator must check whether the number of connections has reached the upper limit. The following are details about database connections:

The maximum number of global connections is specified by the max_connections parameter. Its default value is 5000.
The number of a user's connections is specified by CONNECTION LIMIT connlimit in the CREATE ROLE statement and can be changed using CONNECTION LIMIT connlimit in the ALTER ROLE statement.
The number of a database's connections is specified by the CONNECTION LIMIT connlimit parameter in the CREATE DATABASE statement.
Procedure
Log in as the OS user omm to the primary node of the database.

Run the following command to connect to the database:

""

```
gsql -d postgres -p 8000
```
postgres is the name of the database to be connected, and 8000 is the port number of the database primary node.

If information similar to the following is displayed, the connection succeeds:


```
gsql ((openGauss 1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

postgres=# 
```
View the upper limit of the number of global connections.


```
postgres=# SHOW max_connections;
 max_connections
-----------------
 800
(1 row)
```
800 is the maximum number of session connections.

View the number of connections that have been used.

For details, see Table 1.

 NOTICE:
Except for database and usernames that are enclosed in double quotation marks (") during creation, uppercase letters are not allowed in the database and usernames in the commands in the following table.

Table 1 Viewing the number of session connections


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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hwgfxkdsygr1wl4z5ci8.png)
How Do You Make Lifelong Learning a Habit?
Tags: discuss, beginners, codenewbie, career
Published: 2023-04-19 07:00:00

Staying up-to-date with the latest technologies and trends is essential for career growth and professional success in such a rapidly evolving field. Without continuing education and development, workers in the tech industry risk becoming obsolete and being left behind.

But it can be challenging to find the time and motivation to keep up! Being part of a community like DEV is a great way  connect with other learners in the tech industry, but it’s just one piece of the pie. You need opportunities to apply what you’re learning, maybe work with a mentor, attend conferences, attain certifications, and more.

What other suggestions do you have for folks in the tech industry who’re looking for ways to incorporate continuing education into their regular routine?

---

Follow the [CodeNewbie Org](https://dev.to/codenewbieteam) and [#codenewbie](https://dev.to/t/codenewbie) for more awesome discussions and online camaraderie!
Power Automate - Copy list attachment to document library
Tags: sharepoint, powerfuldevs, sharepointonline, powerautomate
Published: 2023-04-19 06:49:55

The goal here is to copy a SharePoint list attachment to a document library when a new SharePoint list item is created or modified.

---

## Problem

Using **Copy File** action directly for SharePoint List attachment to Document Library will not work for some reason.

There is this error "Unsupported list type for copy/move. Copy/move can only be operated in Document Library."

![Using Copy File](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pukxy14l7iwidrwlahrm.png)

---

### Solution

In order to copy an attachment file to a document library, use the following **Get Attachment Content** and **Create File** instead of **Copy File**

![Get Attachment Content](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xu9xwgzy5j3003x0sdzb.png)
Why zkRollups Are Poised to Solve Ethereum's Scaling Issues
Tags: zkrollups, ethereum, blockchain, web3
Published: 2023-04-19 06:46:09

zkRollups are a layer 2 scaling solution that is poised to solve Ethereum's scaling issues. They work by compressing multiple transactions into a single transaction, which significantly reduces the amount of data that needs to be stored on the blockchain. This allows the blockchain to process many more transactions in a shorter amount of time, which makes the network faster and more efficient.

One of the primary benefits of zkRollups is that they offer high scalability without compromising on the security and decentralization of the Ethereum network. Unlike other layer 2 solutions that rely on off-chain processing, zkRollups execute all transactions on the [Ethereum blockchain Solution](https://www.codezeros.com/technology/ethereum), ensuring that they are fully decentralized and secure.

Another advantage of zkRollups is that they can significantly reduce transaction costs on the Ethereum network. Since each zkRollup transaction compresses many transactions into a single transaction, users can save a lot of money on gas fees.

Overall, zkRollups are an exciting development for the Ethereum network, and they have the potential to greatly improve its scalability and usability. With the continued growth of decentralized applications and the increasing demand for fast and inexpensive transactions, zkRollups are likely to become an essential part of the Ethereum ecosystem in the years to come.
Continious Delivery Bootcamp: Test Driven Development
Tags: programming, productivity, devops, development
Published: 2023-04-19 06:36:39

# Context

Welcome to our Continuous Delivery Bootcamp! We'll teach you the skills you need to get your projects out the door fast, without sacrificing quality. By the end of this program, you'll be a pro at transforming code into working software. Sign up today and start transforming your workflow! 

This chapter we will do an iteration writing test, doing test driven development not only as a testing tool but also as a design tool.

# Video

<iframe width="100%" height="444" src="https://www.youtube.com/embed/MG-Uqve41BQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

{% embed https://youtu.be/MG-Uqve41BQ %}

[﻿Watch the video on Youtube](https://youtu.be/MG-Uqve41BQ)
SSL Wrapper on existing HTTP server
Tags: javascript, node, ssl, https
Published: 2023-04-19 06:33:25

There are many scenarios where the Application is running in port 80 and we need to enable SSL on that. Each frameworks/languages provides a different ways to enable the HTTPS. 

In this gist I created a small reverse-proxy server which handles the HTTPS connection and redirects to HTTP server internally 

{% embed https://gist.github.com/Raaghu/5ac62669d9ff71a0fbb98f74b33ae57a.js %}
Launching EVA AI-Relational Database System
Tags: database, python, machinelearning, showdev
Published: 2023-04-19 06:14:13

[Github Link](https://github.com/georgia-tech-db/eva)

Hi dev.to community,

Today we're launching EVA, **an AI-Relational database system with first-class support for deep learning models**. Our goal to support next-generation AI-powered database applications that operate on both structured (tables) and unstructured data (videos, text, podcasts, etc.) with deep learning models. 

EVA **accelerates AI pipelines by 10-100x using a collection of optimizations inspired by relational database systems** including function caching, sampling, and cost-based predicate reordering. It comes with a wide range of models for analyzing unstructured data including models for image classification, object detection, OCR, text sentiment classification, face detection, etc. It is fully implemented in Python, and licensed under the Apache license.

Besides making it easier to write SQL queries based on complex AI pipelines, EVA speeds up query execution using its AI-centric query optimizer. Two key optimizations are:

+ **Caching**: EVA automatically reuses previous query results (e.g., inference results), eliminating redundant computation and reduce dollars spent on inference.

+ **Predicate Reordering**: EVA optimizes the order in which query predicates are evaluated (e.g., runs faster, more selective deep learning models first) leading to faster queries.

We still have a long way to go and would love to hear your feedback.
5 Amazing Micro Frontend Frameworks for Pro Programmers
Tags: webdev, frontend, web, microservices
Published: 2023-04-19 06:03:38

In 2023, micro frontend frameworks are poised to take center stage, offering developers increased performance, flexibility, and scalability. According to a report, the global Microservices Architecture Market is projected to grow from $5.9 billion in 2020 to $21.1 billion by 2025, at a CAGR of 28.3%. This growth is expected to be driven by the adoption of micro frontend architecture in the development of modern web and mobile applications. So let’s dive in and explore the future of frontend development with 5 top micro frontend frameworks for 2023.

## 5. Single-SPA Framework

Single-SPA, or Single Page Application, is a framework that allows developers to build web applications as a collection of micro frontends. It allows developers to use different frameworks and libraries for different parts of the application, making it easier to customize and update the application over time.

## 4. Piral Framework

Piral is a powerful open-source framework for building modular, extensible, and scalable web applications. It is designed to support the concept of micro frontends, allowing developers to build web applications as a collection of modular components that can be developed and deployed independently.

## 3. Luigi Framework

Luigi is “the enterprise-ready micro frontend framework” that helps build modular, extensible, scalable, and consistent UIs and Web Apps. It follows a declarative approach to UI composition, where each micro frontend declares its dependencies on other micro frontends, and the framework takes care of resolving and loading these dependencies.

**You still have two more — unlock them (there is a lot to learn about Micro Frontend!):** https://bit.ly/3A7QAtV 🚀
Weekly web development resources #145
Tags: webdev, javascript, react, ai
Published: 2023-04-19 05:41:13



______


##[SVG Doodles](https://svgdoodles.com/)
[![SVG Doodles](https://wweb.dev/weekly/content/145/doodles.jpg)](https://svgdoodles.com/)
A free collection of 208 SVG Doodles to spice up your online and offline designs.

______


##[Phind](https://www.phind.com/)
[![Phind](https://wweb.dev/weekly/content/145/phind.jpg)](https://www.phind.com/)
An AI search engine for developers.

______


##[refine.new](https://refine.new/)
[![refine.new](https://wweb.dev/weekly/content/145/refine.jpg)](https://refine.new/)
An open source, React-based web application framework for rapid development.

______


##[WebGPU Fundamentals](https://webgpufundamentals.org/)
[![WebGPU Fundamentals](https://wweb.dev/weekly/content/145/webgpu.jpg)](https://webgpufundamentals.org/)
A very useful set of articles to help learn WebGPU.

______


##[Favpie](https://github.com/pixel-point/favpie)
[![Favpie](https://wweb.dev/weekly/content/145/favpie.jpg)](https://github.com/pixel-point/favpie)
A CLI to generate favicons in all necessary sizes, creating a webmanifest, and providing a piece of CSS for easy integration.

______


##[Recreating the title effect from creativesouth.com](https://rachsmith.com/recreating-creative-south-title/)
[![Recreating the title effect from creativesouth.com](https://wweb.dev/weekly/content/145/3dtext.jpg)](https://rachsmith.com/recreating-creative-south-title/)
An interesting article on how to create a mouse-aware “3D” effect on text.

______


##[README Template](https://matthiasott.com/notes/a-readme-template-with-an-automatically-generated-table-of-contents)
[![README Template](https://wweb.dev/weekly/content/145/readme.jpg)](https://matthiasott.com/notes/a-readme-template-with-an-automatically-generated-table-of-contents)
An article on how to create an automatically generated table of contents in your README.

______


##[Midjourney AI Guide](https://enchanting-trader-463.notion.site/Midjourney-AI-Guide-41eca43809dd4d8fa676e648436fc29c)
[![Midjourney AI Guide](https://wweb.dev/weekly/content/145/midjourney.jpg)](https://enchanting-trader-463.notion.site/Midjourney-AI-Guide-41eca43809dd4d8fa676e648436fc29c)
A guide on getting started with image generation using Midjourney.

______


##[react-timezone-select](https://github.com/ndom91/react-timezone-select)
[![react-timezone-select](https://wweb.dev/weekly/content/145/react-timezone-select.jpg)](https://github.com/ndom91/react-timezone-select)
An extremely usable and dynamic React timezone selector .

______

_Enjoyed this newsletter? You can support me by:_

💸 booking a [sponsored post](https://wweb.dev/sponsorship)

🥷 donating via [Sponsor Ninja](https://app.sponsor.ninja/projects/63d7dd38d907a8ed61dca67f)

🚀 helping me grow by sharing it with your friends and colleagues


Cheers,
Vincent from [wweb.dev](https://wweb.dev)
Ruby - dig method
Tags: ruby, dig
Published: 2023-04-19 04:14:14

The `dig` method is a useful tool to dig through all the keys of a given hash (recursively) and returns the value. If the value for final key or the intermediate key is not found a `nil` value is returned

Let's say we have the given params
```
params = Hash.new
params[:user1] = {
  name: 'Alice',
  gender: 'F',
  age: '40',
  job_details: {
    company: 'XYZ'
  },
  contact_details: {
    Landline: '00000000',
    mobile: '0000001'
  }
}
params[:user2] = {
  name: 'Bob',
  gender: 'M',
  age: '40',
  job_details: {
    company: 'ABC'
  }
}
```
Now if we need the mobile number of all users, the following code will break because in case of Bob the contact_details hash is not available.
```
params.map{|key,value| value[:contact_details][:mobile]}
```
So we need to check if the key is available before diving into it. If there are more iterations then there would be more conditional checks. Luckily there is an alternative
We can use `dig` to fetch with single line of code as the dig handles the conditional checks internally. The code will look like this and it will work for both users
```
params.map{|key,value| value.dig(:contact_details, :mobile)}
```
which will give the following output
```
=> ["0000001", nil]
```

dig iterated through the given keys recursively, if any of the keys are not available it will break returning nil (as in case of Bob).

Note: In scenarios where an error should be raised when a key is not found, dig will not be helpful as it returns nil.

[Source](https://apidock.com/ruby/Hash/dig)
MOT External Support Tools
Tags: opengauss
Published: 2023-04-19 04:17:55

The following external openGauss tools have been modified in order to support MOT. Make sure to use the most recent version of each. An overview describing MOT-related usage is provided below. For a full description of these tools and their usage, refer to the openGauss Tools Reference document.

**gs_ctl (Full and Incremental)**
This tool is used to create a standby server from a primary server, as well as to synchronize a server with another copy of the same server after their timelines have diverged.

At the end of the operation, the latest MOT checkpoint is fetched by the tool, taking into consideration the **checkpoint_dir** configuration setting value.

The checkpoint is fetched from the source server's **checkpoint_dir** to the destination server's **checkpoint_dir**.

Currently, MOT does not support an incremental checkpoint. Therefore, the gs_ctl incremental build does not work in an incremental manner for MOT, but rather in FULL mode. The Postgres (disk-tables) incremental build can still be done incrementally.

**gs_basebackup**
gs_basebackup is used to prepare base backups of a running server, without affecting other database clients.

The MOT checkpoint is fetched at the end of the operation as well. However, the checkpoint's location is taken from **checkpoint_dir** in the source server and is transferred to the data directory of the source in order to back it up correctly.

**gs_dump**
gs_dump is used to export the database schema and data to a file. It also supports MOT tables.

**gs_restore**
gs_restore is used to import the database schema and data from a file. It also supports MOT tables.
Joining the community: An Intoduction
Tags: beginners
Published: 2023-04-19 04:02:06

Hi everyone! 
I'm excited to join the community. I have experinece working primarily with python and have also worked with Javascript (not much).I am always eager to expand my skillset and explore new languages and frameworks.

I am new to writing posts (any social media/platform) and looking to add writing to my skillset. I am looking forward to connecting with other developers and collaborating on exciting projects.
 
In my free time, I enjoy reading books on a variety of topics, such as fiction(sci-fi, thrillers, mythology), non fiction(neuroscience,psychology,philosophy,language),or anything that is worth reading. 

So, let's get to know each other and make great things happen!
File Validation Lib
Tags: java, opensource, security, cybersecurity
Published: 2023-04-19 04:01:59

Hey all,
I've recently started working on a new open source java library, aimed at providing a robust file validation capabilities, without needing to develop custom solutions.
https://github.com/povimd9/FileChampion4j
This library is intended to deliver:
- Easy to understand and configure for developers, operations, and security engineers.
- JSON-based configuration, supporting the ability to separate configurations from code.
- Flexible to support various integrations, including client-defined controls.
- Support for in-memory and on-disk validation.
- Validate files for a variety of properties, including mime type, magic bytes, header signatures, footer signatures, maximum size, filename cleanup/encoding, and owner/permissions of file.
- Custom plugins execution support for extended usability.
- Comprehensive error handling and reporting.

Current version provides most of the capabilities, with future intention to add HTTP based extensions, and secure credentials management for api requests.
Important to note that my background is in cyber security, not development. In my experience working with many development teams, i identified what seems to be a gap, when it comes to file validations, requiring teams to develop custom approaches time and time again.
As such, while i tried following development and supply chain security/best practices, this is my first full project, and i'm in need of experienced developer/s review of my implementation.
In the future, if the community finds it useful, i might port it to other languages as well.
Please feel free to contact me here or on github with questions/suggestions.
Scan ช่องโหว่ Docker image ด้วย Trivy
Published: 2023-04-19 03:57:58

ปัจจุบันการพัฒนาระบบโดยใช้ Container Technology แทบจะกลายเป็นท่ามาตรฐานไปแล้ว อย่างไรก็ตามเรื่องความปลอดภัยก็เป็นสิ่งที่พวกเรานักพัฒนามองข้ามไม่ได้เลย วันนี้มาลองดูกันว่า เราจะ Scan ช่องโหว่ของ Image ที่เราเขียนขึ้นมาด้วย Trivy ยังไงได้บ้าง

## ติดตั้ง Trivy
เริ่มต้นจากการติดตั้ง Trivy ก่อน โดยสามารถติดตั้งผ่าน Homebrew ได้เลยดังนี้

```
brew install aquasecurity/trivy/trivy
```

เมื่อติดตั้งแล้ว ลองใช้คำสั่ง `trivy -v` ดู ถ้าได้หน้าตาแบบนี้ถือว่าสำเร็จ

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

## ทดสอบ Scan ช่องโหว่ดูหน่อย
ลอง pull image ซักตัวที่เราจะมา scan ช่องโหว่ดู ซึ่งในตัวอย่างนี้จะใช้ node:14-alpine

```
docker pull node:14-alpine
```

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

จากนั้นทำการ Scan ช่องโหว่ด้วยคำสั่ง
```
trivy image node:14-alpine
```

เพียงเท่านี้ก็ได้ผล Scan ออกมาแล้ว ซึ่งขั้นตอนถัดไป ก็ไปแก้ตาม Recommendation ที่มันบอกได้เลย

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

Happy coding ครับ :)