teleren/devto huggingface dataset:
SaaS-based API security testing services
Tags: blst, cybersecurity, beginners, saas
Published: 2022-05-11 10:48:57

Hi everyone,
As a web application developer, I've had the opportunity to work with a number of SaaS-based API security testing services.

But before we started, if you're interested in exploring API security testing tools, I invite you to check out our API security GitHub ⭐
https://github.com/blst-security/cherrybomb

With the increasing reliance on APIs to power digital offerings, API security has become more significant than ever. Traditional security solutions are not well-suited to securing APIs, however, SaaS-based API security testing services offer a more comprehensive approach which tests for vulnerabilities and provides ongoing protection. 

Some advantages of SaaS-based API security testing services over traditional security solutions are that they offer a more comprehensive approach, continuous protection, flexible deployment, are more cost-effective, and are provided by experts with in-depth knowledge of API security.

API security is more critical than ever as companies increasingly rely on APIs to power their digital offerings. Unfortunately, traditional security solutions are not well-suited to securing APIs. SaaS-based API security testing services offer a more comprehensive approach to API security, testing for vulnerabilities and providing ongoing protection.

API security testing is a critical part of ensuring the security of your API. Traditional security solutions, such as web application firewalls, are not well suited to protecting APIs. SaaS-based API security testing services offer a more comprehensive approach, testing for vulnerabilities and providing ongoing protection.

SaaS-based API security testing services offer a number of advantages over traditional security solutions:

1. Comprehensive approach: SaaS-based API security testing services test for a wide range of vulnerabilities, including those related to authentication, authorization, and data leakage.

2. Continuous protection: SaaS-based API security testing services provide continuous monitoring and protection, alerting you to new vulnerabilities as they are discovered.

3. Flexible deployment: SaaS-based API security testing services can be deployed quickly and easily, without the need for complex on-premises infrastructure.

4. Cost-effective: SaaS-based API security testing services are typically more cost-effective than traditional security solutions, due to their pay-as-you-go pricing model.

5. Expertise: SaaS-based API security testing services are provided by experts with in-depth knowledge of API security.

If you are looking to improve the security of your API, SaaS-based API security testing services are worth considering.

In conclusion:
SaaS-based API security testing services offer a comprehensive approach to API security, testing for vulnerabilities and providing ongoing protection. These services have a number of advantages over traditional security solutions, including their flexibility, cost-effectiveness, and the expertise of the providers.

Thanks for reading 😉
Day 3-4-5-6: DB, create, list,query...
Tags: appwritehack, angular, nosql
Published: 2022-05-11 10:45:26

In this days I studied a little bit the NoSql DB logics, I ever work with relationship DB and this open my mind! 😁

I redo the new DB schema in appwrite with nosql logics, And I started to implement something!

The main idea for the project was to create a mini-recipes-social where the people can post the ingredients that have and other people share his recipes with this ingredients.

You can vote the post-question you can vote the recipe, you can chose the best recipes, any user have a ranking, etc...

Do you know Stackoverflow? 😁 the idea is the same but with recipes!

this is the home page:

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

and this the creation of the post:

![post creation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i8ywkt5dd1qfvbvgud7v.png)

And now? answer the question with recipes!
Best Laravel Security Practices for Developers
Tags: laravelsecurity, whychooselaravel, laravelsecuritypractices, laravelsecurityfeatures
Published: 2022-05-11 10:36:28

Web Development is highly in-demand development process as every new startup needs a website or web app to build their online presence and to showcase their products or services. A website or web app helps established businesses to add additional features to their existing website which helps them to reach to maximum audience and promote their products or services at max level. But in recent times finalizing a particular programming language or framework for web development has become difficult as each provides unique features and functionalities. Therefore to make it easy to decide, here is an article which talks about Laravel Framework. 

Laravel is one such framework that has emerged has one of the highly preferred web development framework due to its uniqueness. Laravel is one of the finest backend development framework which has emerged as one of the potential result-oriented framework in the web development sector. Laravel has made its mark in the web development practices by its key features and functionalities that has helped developers to ease on their efforts. Laravel also provides its own sub frameworks which are unique in their own functionalities and the service they provide makes Laravel a complete framework for web development.

Laravel possess rich library support that adds value in the web development process assisting in the coding as well as final implementation phase. Laravel Framework exhibits unique security features that helps developers to build secure as well as robust end solutions. This article focuses on highlighting some key security practices provided by Laravel framework which contributes in making the complete development process as well as end solutions secure. This article will drive you through various security practices as well as their applications and will also explain why these security practices are essential in web development process. Discover the full article to get deeper understanding on the key security practices by Laravel - https://www.esparkinfo.com/blog/laravel-security-practices.html
Go App With AppWrite⛳
Tags: appwritehack
Published: 2022-05-11 10:34:25

### Overview of My Submission

A simple Application with Go Language and AppWrite.🐋 

**run the script**

```
/bin/sh run.sh
```

**To Modify**

You need to to modify env vars set in run.sh using your own

- BASEPATH
- PORT
- PROJECT_ID
- TOKEN

**How it works ?**

It project use the appwrite provided apis. Fow now, only database endpoint are implement in this project.

- Procedures
- Create new collection
- List all avaiable collections
- Create a new document using the id of inserted collection

Is required to set payload for create collection in the format below

```
{
  "data": {
    "key": "value3"
  } 
}
```
The data key is mandatory. key is the registered key in Collection.CollectionCreateInputRule.
If you modify the value of key, modify it in the create collection payload too.

```
inputRule := Collection.CollectionCreateInputRule{
  Label:    "label",
  Key:      "myKey",
  Type:     "text",
  Default:  "no set",
  Required: false,
	Array:    false,
}

{
  "data": {
    "myKey": "value4"
  } 
}
```


### Submission Category: 
 
Wacky Wildcards


### Link to Code

{% embed https://github.com/bkid00/GoLangApp-Appwrite %}

**See you guys!!🤗**
Free Microsoft Certification Exam - May 2022
Tags: challenge, cloudskills, azure, devops
Published: 2022-05-11 10:28:16

It's here, pick any (one) Microsoft Build Cloud Skills Challenge that would earn you a free Microsoft Certification exam upon completion.

The eligible exams include:
- AI-102: Designing and Implementing a Microsoft Azure AI Solution
- AZ-204: Developing Solutions for Microsoft Azure
- AZ-220: Microsoft Azure IoT Developer
- AZ-400: Designing and Implementing Microsoft DevOps Solutions
- DP-420: Designing and Implementing Cloud - Native Applications Using Microsoft Azure Cosmos DB
- MS-600: Building Applications and Solutions
- PL-100: Microsoft Power Platform App Maker
- PL-200: Microsoft Power Platform Functional Consultant
- PL-300: Microsoft Power of BI Data Analyst
- SC-200: Microsoft Security Operations Analyst
- SC-300: Microsoft Identity and Access Administrator


It begins on May 24, 2022 and ends June 21 2022. 


Check [here](https://www.microsoft.com/en-us/cloudskillschallenge/build/registration/2022) for the offical rules and additional FAQs

#microsoft #iot #ai #data #developer #security #building #power #challenges #free
Insertion Sort
Tags: javascript, programming, algorithms
Published: 2022-05-11 10:21:53

What do we understand about Insertion Sort?
 - It uses 2 loops (outer for-loop & inner while-loop) and 2 pointers
 - 1st pointer starts from 1 item after the 2nd pointer
 - 2nd pointer starts from 1 item before 1st pointer
 - 2nd loop loops decrementally till 0
 - as long as current value is more than left side value we copy the left side over to current
 - insertion happens after the 2nd loop is finished
 - Mutation is performed on the original Array
 - Time complexity 
    - Best -> O(n)
    - Average -> O(n^2)
    - Worst -> O(n^2)
 - Space complexity
    - O(1)

```js
    function InsertionSort(arr) {
        for (let i = 1; i < arr.length ; i++) {
            let currentValue = arr[i];
            let oneIndexBefore = i - 1;
            while (oneIndexBefore >= 0 && arr[oneIndexBefore] > currentValue) {
                arr[oneIndexBefore + 1] = arr[oneIndexBefore];
                oneIndexBefore--;
            }
            arr[oneIndexBefore + 1] = currentValue;
        }
        return arr;
    }
```
DevOps Charity Event #StandWithUkraine
Tags: devops, cloud, techtalks, aws
Published: 2022-05-11 10:14:16

Hey everyone! I'd like to invite you to join charity event DevOpsDays #StandWithUkraine on May 17-18!

During the conference, we would love to talk about DevOps during the crisis, incident, and business continuity management with our friends – Patrick Debois, Kris Nova, Kelsey Hightower, Lena Hall, Andrew Clay Shafer, and others.

18 talks from the world DevOps community are in the programme, and you’re welcome to Open Space Discussions as well, to share experience on complex cases with your peers.

Our main goal is to get €100,000 for Non-Governmental Organizations & Humanitarian funds and support Ukrainians.

We truly believe in power of DevOps community and will be extremely happy if you join us!

When? May 17-18
Where? Online

👉 Sign up for free & find out agenda here: https://devopsdays.com.ua
Register, donate, share event with friends and #StandWithUkraine!


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r31s5d9ud8slfr6tje56.png)
DevOps Charity Event #StandWithUkraine
Published: 2022-05-11 10:12:02

Dear community! I'd like to invite you to join charity event DevOpsDays #StandWithUkraine on May 17-18!

During the conference, we would love to talk about DevOps during the crisis, incident, and business continuity management with our friends – Patrick Debois, Kris Nova, Kelsey Hightower, Lena Hall, Andrew Clay Shafer, and others.

18 talks from the world DevOps community are in the programme, and you’re welcome to Open Space Discussions as well, to share experience on complex cases with your peers.

Our main goal is to get €100,000 for Non-Governmental Organizations & Humanitarian funds and support Ukrainians.  
 
We truly believe in power of DevOps community and will be extremely happy if you join us! 

When? May 17-18
Where? Online

👉 Sign up for free & find out agenda here: https://devopsdays.com.ua
Register, donate, share event with friends and #StandWithUkraine!
Tackling huge pull requests
Tags: programming, beginners
Published: 2022-05-11 10:08:21

Bigger tasks require a lot of code changes, sometimes resulting in huge pull requests which are nearly impossible to review properly.

How can we mitigate that? The first thing which comes to mind is to not let it happen in the first place. How? By diving the task into smaller tasks and implement them step by step. Although preferable, this approach is not always possible.

A prime example for that is a major upgrade of a framework or a library which used all over the place. In case that upgrade happens to introduce a lot of breaking changes, it renders the aforementioned approach useless.

A solution for such a case is to structure your commits in a way that makes it easier to review. GitHub, for example, provides a feature which allows the reviewer to review the pull request commit by commit.

At first it sounds cumbersome, because in addition to the implementing the actual task you also have to keep in mind the way in which you commit your changes. Instead of committing you code at random, or event worse - not committing at all until your finished, you have to make your commits thoughtfully.

But this is actually an advantage if you look at it from the right angle. While this approach is definitely more demanding it has the advantage of forcing you to create a high level plan, to approach you task thoughtfully. This forces you to think of your implementation as a sequence of steps which you need to take to the solution. This prevents you to just start hacking away and finding yourself afterwards with a bunch of unrelated changed files, having a hard time coming up with a commit message.

You can even go step a further. You will probably agree that formatting changes can obfuscate the real changes that were made in order to accomplish the task at hand. In order to mitigate that we can make ourselves commit changes in formatting in separate commit. If we mark these commits as "formatting changes only" they can safely be ignored by the reviewer, and we will further ease the reviewing process.

Keep in mind that someone will eventually have to review the code you're writing and try to ease the work of the reviewer. The reviewer is you friend :)
Get Started with Node.js development
Tags: docker, developer, node, programming
Published: 2022-05-11 10:05:57

Developers use [Node.js](https://nodejs.org/en/about/) to build fast, scalable, and real-time apps — thanks to its highly-robust event-driven runtime. It’s also asynchronous. Node.js can handle a huge number of concurrent connections, with high throughput, as traffic spikes. Accordingly, it’s ideal for building microservices architectures. 

![image1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/064wz3aqvjxozzzf7q2n.png)
 
 

[Users have downloaded our Node.js Docker Official Image](https://hub.docker.com/_/node) more than 1 billion times from Docker Hub. What’s driving this significant download rate? There’s an ever-increasing demand for Docker containers to streamline development workflows, while giving Node.js developers the freedom to innovate with their choice of project-tailored tools, application stacks, and deployment environments. 

We’ll show you how to rapidly and easily containerize your Node.js app — seamlessly circumventing common Node compatibility issues while accelerating deployment. This lets your application easily run cross-platform on different CPU architectures. 

[Click here to read the complete story](https://www.docker.com/blog/jumpstart-your-node-js-development/)
Clean Code Tip: Not all comments are bad
Tags: cleancode, programming
Published: 2022-05-11 10:02:30

Many developers say that

> All comments are bad! 💢

False! *Most of the* comments are bad!

## Examples of bad comments

For example, look at this method, and look at the comments:

```cs
/// <summary> Checks if the password is valid </summary>
/// <param name="password">The password to be validated</param>
/// <returns>True if the password is valid, false otherwise</returns>
public bool IsPasswordValid(string password)
{
    Regex regex = new Regex(@"[a-z]{2,7}[1-9]{3,4}");
    var hasMatch = regex.IsMatch(password);
    return hasMatch;
}
```

Here the comments are pointless - they just tell the same things you can infer by looking at the method signature: this method checks if the input string is a valid password.

So, yes, those kinds of comments are totally meaningless, and they should be avoided.

## Good types of comments

But still, there are cases when writing comments is pretty helpful.

```cs
public bool IsPasswordValid(string password)
{
    // 2 to 7 lowercase chars followed by 3 or 4 numbers
    // Valid:   kejix173
    //          aoe193
    // Invalid: a92881
    Regex regex = new Regex(@"[a-z]{2,7}[1-9]{3,4}");
    return regex.IsMatch(password);
}
```

Here the purpose of the comment is not to explain what the method does (it's already pretty explicit), but it explains with examples the Regular Expression used to validate the password. **Another way to explain it is by adding tests** that validate some input strings. In this way, you make sure that the documentation (aka the tests) is always aligned with the production code.

By the way, for more complex calculations, adding comments explaining WHY (and not HOW or WHAT) a piece of code does is a good way to help developers understand the code.

Another reason to add comments is to explain why a specific piece of code exists: examples are legal regulations, related work items, or references to where you've found that particular solution.

## Conclusion

Always pay attention when writing comments: yes, they often just clutter the code. But they can really add value to the code, in some cases.

To read more about good and bad comments, here's a well-detailed article you might like:

🔗 [Clean code tips - comments and formatting](https://www.code4it.dev/blog/clean-code-comments-and-formatting "Clean code tips - comments and formatting | Code4IT")

Happy coding!

🐧
Do you check your CSS for errors?
Tags: discuss, css
Published: 2022-05-11 09:58:16

Do you even know how to check for CSS errors?
Using a linter?
Or some other tool?

I discovered that even CSS frameworks are full of errors and warnings: https://css-auditors.com/reports/css-frameworks-part-2-2022-05/.

How many errors does your CSS have on [the CSS Validation Service](https://jigsaw.w3.org/css-validator/)?

{% embed https://twitter.com/malimirkeccita/status/1524332813138419712 %}
[Grind 75] 57. Insert Interval
Tags: algorithms, cpp, programming, 100daysofcode
Published: 2022-05-11 09:54:05

# Description

You are given an array of non-overlapping intervals `intervals` where `intervals[i] = [starti, endi]` represent the start and the end of the `ith` interval and `intervals` is sorted in ascending order by `starti`. You are also given an interval `newInterval = [start, end]` that represents the start and end of another interval.

Insert `newInterval` into `intervals` such that `intervals` is still sorted in ascending order by `starti` and `intervals` still does not have any overlapping intervals (merge overlapping intervals if necessary).

Return `intervals` *after the insertion*.

## Example 1:

```
Input: intervals = [[1,3],[6,9]], newInterval = [2,5]
Output: [[1,5],[6,9]]
```

## Example 2:

```
Input: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
Output: [[1,2],[3,10],[12,16]]
Explanation: Because the new interval [4,8] overlaps with [3,5],[6,7],[8,10].
```

## Constraints:

- `0 <= intervals.length <= 104`
- `intervals[i].length == 2`
- `0 <= starti <= endi <= 105`
- `intervals` is sorted by `starti` in **ascending** order.
- `newInterval.length == 2`
- `0 <= start <= end <= 105`

---

# Solutions

## Solution 1

### Intuition

1. left: `end < newStart`
2. covered: newStart = min(start, newStart);  find the last start which is smaller than newEnd, and update newEnd = max(end, newEnd);
3. right: the rest part of intervals

### Code

```cpp
class Solution {
    public:
    vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) {
        int n = intervals.size();
        vector<vector<int>> res;
        int idx = 0;
        while (idx < n && intervals[idx][1] < newInterval[0]) res.push_back(intervals[idx++]);

        if (idx < n) {
            newInterval[0] = min(intervals[idx][0], newInterval[0]);
            while (idx < n && intervals[idx][0] <= newInterval[1])
                newInterval[1] = max(intervals[idx++][1], newInterval[1]);
        }
        res.push_back(newInterval);
        while (idx < n) res.push_back(intervals[idx++]);

        return res;
    }
};
```

### Complexity

- Time: O(n)
- Space: O(n)
新创建的虚拟机网络异常
Tags: troubleshooting
Published: 2022-05-11 09:36:52

刚装的一台虚拟机，网络有问题，只能从直连网络访问，且即使是访问直连网络，丢包率都很高，怀疑是IP冲突，就换了个ip，情况就好了，但是并没有发现其它机器用了这个ip
Wednesday Links - Edition 2022-05-11
Tags: java, jvm, spock, kotlin
Published: 2022-05-11 09:29:49

Virtual Threads in stats (30 sec)📊
https://twitter.com/delabassee/status/1522983826942738433

Which JVM Version is Fastest? (5 min)🚄
https://minborgsjavapot.blogspot.com/2022/05/which-jvm-version-is-fastest.html

More compact parameterized tests reporting in Spock 2.1 (4 min)📜
https://blog.solidsoft.pl/2022/04/05/more-compact-parameterized-tests-reporting-in-spock-2.1/

Using JUnit 5 extensions in Spock 2 tests (9 min)🧩
https://blog.vyarus.ru/using-junit-5-extensions-in-spock-2-tests

Generating Kotlin DSLs (6 min)🔋
https://blog.codecentric.de/en/2022/05/generating-kotlin-dsls/

Kotlin 1.7.0-Beta Released (6 min)🎉
https://blog.jetbrains.com/kotlin/2022/05/kotlin-1-7-0-beta/

MarkDeep (1 min)📖
https://twitter.com/BriceDutheil/status/1522602605301673985

Neo4j: all your data as a graph? (3 min)🕸️
https://nurkiewicz.com/73

How to choose a database for your project? (14 min)🗄️
https://blog.softwaremill.com/how-to-choose-a-database-for-your-project-21adc102b50d

Binary Trees 101 (4 min)🌳
https://blog.scottlogic.com/2022/05/05/binary-trees-101.html

Kubernetes 1.24: Stargazer (7 min)🌃
https://kubernetes.io/blog/2022/05/03/kubernetes-1-24-release-announcement/

Rust is hard, yes, but does it matter? (3 min)👷
https://jmmv.dev/2022/05/rust-is-hard-but-does-it-matter.html
7 useful ways to create Flow in Kotlin
Tags: kotlin, flow, android, programming
Published: 2022-05-11 09:08:53


**7 very important and [useful](https://blog.canopas.com/android-development-best-practices-2022-203682a440f5) ways to create Flow in [Kotlin](https://blog.canopas.com/android-9-useful-kotlin-flow-operators-you-need-to-know-b9daef4b630f) with examples.**

1. flowOf()
2. asFlow()
3. flow{}
4. MutableStateFlow & MutableSharedFlow()
5. ChannelFlow
6. CallbackFlow
7. emptyFlow

Read full version of this blog post with source code on our [canopas blog](https://blog.canopas.com/7-useful-ways-to-create-flow-in-kotlin-577992b73315).