teleren/devto huggingface dataset:
10 API & Dev Portal must-haves for a great Developer Experience
Tags: webmethods, apimanagement, apigateway, apiportal
Published: 2022-02-08 11:08:51

---
title: 10 API & Dev Portal must-haves for a great Developer Experience
published: true
date: 2022-02-02 11:17:26 UTC
tags: webMethods, apiManagement, apiGateway, apiPortal
canonical_url: https://tech.forums.softwareag.com/t/10-api-dev-portal-must-haves-for-a-great-developer-experience/254952
---

**Part 1 of the “Improving the API Developer Experience” Series**

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

[https://www.youtube.com/embed/2Xg3Q0nTZBs](https://www.youtube.com/embed/2Xg3Q0nTZBs?autoplay=1&feature=oembed&wmode=opaque)


It’s undeniable product functionality is important. However, far too often the API Developer Experience (DX) gets shoved down the priority list.

Way too few decision makers truly understand how critical DX is to the success of an organization’s API Platform adoption and to maintaining high customer satisfaction levels throughout the process.

In this webcast API Master Strategist, Brenton House, covers how to create a great API Developer Experience; including the importance of:

- Intuitive API Design
- Creating – and following – API Standards
- API Documentation (and what MUST be included!)

In short, you’ll leave this presentation knowing exactly what to prioritize to turn your organization’s community of developers/architects into API champions who not only love your products – but WANT to use them!

•       Read blog post about API Developer Experience: https://blog.softwareag.com/api-developer-portal
•       To learn more about Software AG's API platforms, please https://www.softwareag.com/en_corporate/platform/integration-apis.html
•       To view more Software AG webinars, please visit https://www.softwareag.com/en_corporate/company/events.html

FREE online API Maturity assessment here!

https://www.softwareag.com/api-maturity


[Visit original post](https://tech.forums.softwareag.com/t/10-api-dev-portal-must-haves-for-a-great-developer-experience/254952)
API Developer Portal (& Why It’s Better Than Yours)
Tags: webmethods, api, management, apiportal
Published: 2022-02-07 12:40:36

---
title: API Developer Portal (& Why It’s Better Than Yours)
published: true
date: 2022-02-02 11:14:40 UTC
tags: webmethods, api, management, apiportal
canonical_url: https://tech.forums.softwareag.com/t/api-developer-portal-why-it-s-better-than-yours/254950
---

**Part 3 of the “Improving the API Developer Experience” Series**

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

[https://www.youtube.com/embed/y3Mo9-RTvLU](https://www.youtube.com/embed/y3Mo9-RTvLU?autoplay=1&feature=oembed&wmode=opaque)


No matter how well-built your APIs they won’t make your API Program a success. For that to happen they MUST be paired with a great portal that consistently delivers a superior API developer experience.

Watch this brief deep dive to see how these two work together. Sivaraj Lenin, Sr. Product Manager, API Management, explains how critical a Dev Portal is to fueling API adoption and why yours is missing the mark. He also demonstrates how Software AG’s Developer Portal is better because it:

-Makes finding and consuming APIs easier.
-Creates a seamless experience for sharing APIs (via tool integrations).
-Gives API Product Owners unmatched analytical capabilities shared through user-friendly dashboards. Furthermore, Sivaraj reviews tips and best practices for building great developer portals.

• To learn more about API portals, please visit https://www.softwareag.com/en_corporate/resources/what-is/api-portal.html
• To learn more about Software AG’s webMethods, please visit https://www.softwareag.com/en_corporate/platform/integration-apis.html
•  To view more Software AG webinars, please visit https://www.softwareag.com/en_corporate/company/events.html

[Visit the original post](https://tech.forums.softwareag.com/t/api-developer-portal-why-it-s-better-than-yours/254950)
Free AWS Certification Official Practice Question Sets
Tags: aws, certification, exam
Published: 2022-02-02 11:08:08

## tl;dr 

- AWS has released their Practice Questions for AWS Certifications for free (was $20 before)
- There are 20 sample questions available per AWS Certification Exam
- Questions look to be available in 11 different languages 
- Rather than just a static pdf of 20 questions & answers, AWS seem to have created a separate site with an interactive Quiz UI 
- You have to jump through a couple of hoops to get to these (detailed instructions below)
- Personally - I think all this for a static list of 20 questions is a bit too much. My recommendation is to find a larger question bank on [Udemy](https://www.udemy.com/) or use sites like [TutorialsDojo](https://tutorialsdojo.com/). They do cost approx USD 15 per exam prep which may be out of bounds for people, but they have hundreds of sample questions, detailed answers and links back to documentation and are really worth those aiming to take AWS Certifications. 

# PLEASE AVOID "DUMPS"! 
Dumps really devalue the certification and ultimately you are cheating on your own learning. 

## Accessing these free Practice Questions

- Access the courses via [AWS SkillsBuilder](https://explore.skillbuilder.aws/). The search did not work well for me - so I chose to use the filters to select the Language (I chose English) and then "Training Category" as "Exam Preparation". You should then see the Official Practice Questions Set 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9xlgt2aqk4nekpkwgdsm.png)
 
- You have to sign up to AWS Skills Builder and access the course which gives you a Access Code and redirects you to a different site called AWS BenchPrep.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hbc6xrvjt0l4x0uxr9e8.png)
 
- You then have to create a login and redeem the code at [AWS BenchPrep site](https://amazonwebservices.benchprep.com/) to access these questions

You can then choose which exam you want to practice questions for.. 

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

I would be interested in your feedback on using these practice exams.
crypto is a scam
Tags: crypto, blockchain, beginners, tutorial
Published: 2022-02-02 11:05:18

are you skeptical about crypto, not sure about blockchain, thinking of it like an mlm scheme, price looks volatile to you, when you invest market goes down?

there are lots of questions like these, maybe you have or maybe not, nevertheless will it not be awesome that you'll once again do your own research from scratch but with a step by step guide to clear up all your questions which will make you confident about the upcoming revolution of web3.

[web3 for you](https://github.com/MusabShakeel576/web3-for-beginners) is an ongoing list of curated stuffs related to blockchain, crypto and its underlying technology, this list is powered by open source community which can make additions into this list and will try to teach you about future in a less complex language.

blockchain and github users feel free to open pull requests to remove typos and include new technologies into this list.
Sticky Back-To-Top Button with Intersection Observer
Tags: codepen, tutorial, css, html
Published: 2022-02-02 10:41:33

Unveils while scrolling. Instead of using a performance wasting scroll-trigger, this demo is using use a modern Intersection Observer.

Open this demo in your browser, it's using 25 % of the `main` container height to unveil the Back-To-Top-Button.

{% codepen https://codepen.io/macx/pen/eYeNMpJ %}
Come study algorithms with us!
Tags: algorithms, beginners, programming, computerscience
Published: 2022-02-02 10:40:17

From a couple subreddits a few dozen people collected to go through [MITs Intro to Algorithms course](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/) (and [CSLR book](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844)) together, starting next week. Consider joining us if you want to learn (or relearn) the basics of computer science, get better at programming or be more prepared for those tricky interview questions. There’s sure to be insightful discussions and fun as we tackle challenges together!

Here’s our [Discord server invite](https://discord.gg/R3jStB9m).

Looking forward to chatting and learning with you!
Wednesday Links - Edition 2022-02-02
Tags: java, maven, graalvm, idea
Published: 2022-02-02 10:23:48

Fixing the Parrot Party (7 min)🦜
https://blog.jetbrains.com/idea/2022/01/fixing-the-parrot-party/

JSpecify (10 min)📏
https://jspecify.dev/user-guide.html

Lenses in Java (4 min)🔬
https://medium.com/expedia-group-tech/lenses-in-java-2b18c7d24366

The Flatten Maven plugin (3 min)🫓
https://blog.frankel.ch/maven-flatten-plugin/

GraalVM 22.0 Released (3 min)🏆
https://www.infoq.com/news/2022/01/graalvm-22-native-image/
Temporal Dead Zone
Tags: javascript, variables, tdz, letvsvar
Published: 2022-02-02 10:14:25

Assalom alaykum, bugun Javascriptda eng confusing bo'lgan mavzulardan biri "**Temporal Dead Zone**" ya'ni "**Vaqtinchalik O'lik hudud**" haqida gaplashamiz.

**_LET_** tipidagi o'zgaruvchilarni e'lon qilingan qatordan yuqori qatorlarda o'qish yoki chop etish mumkin emas. Agar boshlang'ich qiymat berilmagan bo'lsa, o'zgaruvchi **undefined** qiymat bilan ishga tushiriladi.**LET** tipidagi o'zgaruvchilarni e'lon qilishdan oldin chop etish **ReferanceError'**ga olib keladi.(**VAR** tipidagi o'zgaruvchilar esa bunday emas, **VAR** tipidagi o'zgaruvchilarni e'lon qilishdan avval console'ga chop etsangiz, **undefined** qiymatini qaytaradi).

```js
{ // TDZ ning boshlanishi
  console.log(name); // undefined chunki var o'zgaruvchi
  console.log(bestChanel); // ReferenceError chunki bu let
  var name = "Davron";
  let bestChanel = 2; // bestChanel o'zgaruvchisi uchun TDZ ni tugashi
}
```

"**Temporal**" atamasi qo'llanilishini sababi zona kodni yozish tartibiga (pozitsiyaga) emas, balki bajarish tartibiga (vaqt) bog'liq.Ya'ni quyidagi kod hech qanday **error**'larsiz ishga tushadi chunki **LET** o'zgaruvchisidan foydalanadigan **funksiya** o'zgaruvchi e'lon qilinishidan oldin yaratilgan bo'lsa ham, funktsiya TDZ dan tashqarida chaqiriladi/ishga tushiriladi.

```js
{
    // TDZ shu yerda boshlanadi
    const func = () => console.log(raqam); // OK

    // bu joy DTZ va raqam `ReferenceError` qaytaradi

    let raqam = 3; // raqam uchun DTZ ni tugashi
    func(); //  TDZ dan tashqarida chaqirilyapti!
 
}
```

## TDZ va `typeof`
TDZ'dagi **LET** o'zgaruvchisi uchun **typeof** operatoridan foydalanish **ReferenceError'** ga olib keladi :

```js
// 'ReferenceError' chiqaradi
console.log(typeof i);
let i = 10;
```
Embed GitHub User's All Repos on Website 🚀
Tags: javascript, github, webdev, beginners
Published: 2022-02-02 09:40:37

## Embed User all GitHub Repos


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

Loading Animations is a bonus point Here...


> Use Website :- https://sh20raj.github.io/GitHub-Cards/



> URL Syntax :- https://sh20raj.github.io/GitHub-Cards/embed.html?user={username}


---

## How to Embed

Example (user = [sopinstagram](https://github.com/SopInstagram/) ) :- https://sh20raj.github.io/GitHub-Cards/embed.html?user=sopinstagram



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4q05tru2w5ghp4msuft7.PNG)

Use iframe to embed all repos on your website like this
```html
<iframe src="https://sh20raj.github.io/GitHub-Cards/embed.html?user=sopinstagram" frameborder="0" width="100%" height="1000px"></iframe>
```

Other Demo (User = google) :- https://sh20raj.github.io/GitHub-Cards/embed.html?user=google

---
GitHub Repository Card for html web site in svg/png format 🚀
Tags: javascript, github, html, svg
Published: 2022-02-02 09:26:53

> Website :- https://gh-card.dev/

Create Repo Card Like


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


## Get direct CDN

> Syntax :- https://gh-card.dev/repos/{user}/{repo}.svg
> Syntax :- https://gh-card.dev/repos/{user}/{repo}.png

Example :-

---

https://gh-card.dev/repos/sh20raj/sopplayer.svg

![Image description](https://gh-card.dev/repos/sh20raj/sopplayer.svg)

---

https://gh-card.dev/repos/sh20raj/sopplayer.png

![Image description](https://gh-card.dev/repos/sh20raj/sopplayer.png)

---

## Bonus :- Embed User all GitHub Repos

> Use Website :- https://sh20raj.github.io/GitHub-Cards/

Syntax :- https://github-cards.sh20raj.repl.co/embed.html?user={username}

Example :- https://github-cards.sh20raj.repl.co/embed.html?user=sopinstagram

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4q05tru2w5ghp4msuft7.PNG)

---

## How to Embed

Use iframe to embed all repos on your website like this
```html
<iframe src="https://github-cards.sh20raj.repl.co/embed.html?user=sopinstagram" frameborder="0" width="100%" height="1000px"></iframe>
```

Full Article :- [Embed GitHub User's All Repos on Website 🚀](https://dev.to/sh20raj/embed-github-users-all-repos-on-website-27eh)


---


## Bonus :- Embed Repo on dev.to (Markdown)

```markdown
{% github https://github.com/SopInstagram/SopInstagram.github.io %}

```

{% github https://github.com/SopInstagram/SopInstagram.github.io %}
Filtering a table by date
Tags: javascript, webdev, beginners, tutorial
Published: 2022-02-02 09:24:28


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

Assuming you have table in your project and would like to filter the values by date. This simple code will enable you to filter it using from-to dates.

``` html
<div class="row">
  <div class="col-md-3">
    <h4>Date from</h4>
    <input type="date" class="form-control" id="datefilterfrom" data-date-split-input="true">
  </div>
  <div class="col-md-3">
    <h4>Date to</h4>
    <input type="date" class="form-control" id="datefilterto" data-date-split-input="true">
  </div>
</div>
<table id="myTable" class="table" border="1">
  <tr>
    <td>nothing</td>
    <td>nothing</td>
    <td>18/07/2018</td>
    <td>nothing</td>
  </tr>
  <tr>
    <td>nothing</td>
    <td>nothing</td>
    <td>19/07/2018</td>
    <td>nothing</td>
  </tr>
  <tr>
    <td>nothing</td>
    <td>nothing</td>
    <td>20/07/2018</td>
    <td>nothing</td>
  </tr>
</table>

```


The javascript code to actually filter the table and redraw the table:

``` js
function filterRows() {
  var from = $('#datefilterfrom').val();
  var to = $('#datefilterto').val();

  if (!from && !to) { // no value for from and to
    return;
  }

  from = from || '1970-01-01'; // default from to a old date if it is not set
  to = to || '2999-12-31';

  var dateFrom = moment(from);
  var dateTo = moment(to);

  $('#myTable tr').each(function(i, tr) {
    var val = $(tr).find("td:nth-child(3)").text();
    var dateVal = moment(val, "DD/MM/YYYY");
    var visible = (dateVal.isBetween(dateFrom, dateTo, null, [])) ? "" : "none"; // [] for inclusive
    $(tr).css('display', visible);
  });
}

$('#datefilterfrom').on("change", filterRows);
$('#datefilterto').on("change", filterRows);

```

Give me a follow if you found this helpful! :-)
Basics of Angular Lazy Loading
Tags: angular, lazyloading, routing
Published: 2022-02-02 09:08:21

Angular lazy loading means that when the application route loads only those modules will load which is on-demand. If we want to achieve lazy loading it's necessary to break down the application into small separated modules. 

It is a very useful built-in angular feature, as the app complexity grows its size is getting bigger and bigger that leads to slow application, especially on mobile!

---

create application: 
`ng new lazyloading-demo`
create modules
`ng g module home`
`ng g module products`

create a separate module for routing paths

```
const routes: Routes = [
  {path : '' , component : ProductsComponent}
];

@NgModule({
  imports: [
    RouterModule.forChild(routes),
  ],
  exports: [RouterModule]
})
export class ProductsRoutingModule { }
```


import `ProductsRoutingModule` into `products.module.ts` and the same thing has to be done for `Home` module.
Make sure that in routes array has at least one component which point to empty path, that will be the landing page of the module.


---

```
const routes: Routes = [
  {path: 'home' , 
     loadChildren : () => import('./home/home.module').
     then(module => module.HomeModule)},
  {path : 'products' , 
    loadChildren : () => import('./products/products.module').
    then(module => module.ProductsModule)}
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

```

When you query`http://localhost:4200/home` in the network tab you can see that `src_app_products_products_module_ts.js` loads.


![Lazy loading in the metwork tab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j7npucxsof9aw6od5iqz.png)

You can find this small demo app on this [repository](https://github.com/PJozeph/angular-lazy-loading-demo)!
What is AuthN & AuthZ?
Tags: auth, authn, authz, auth0
Published: 2022-02-02 08:36:02

If you've been around the identity space for any length of time you've probably heard the terms **AuthN** and **AuthZ** thrown around. If you're like me then you've probably felt silly for not knowing what these terms mean. In this post I'll briefly explain the two terms and what they mean. 

## AuthN

AuthN is a contraction of Authentication. 

Authentication is verifying your user is who they say they are. More often than not this is logging in with a username and password (Hopefully with MFA) or OAuth using a provider like Google or Facebook. 

Authentication as a concept is fairly general there are great solutions like [Auth0](https://a0.to/signup-for-auth0) that can be dropped into your application to provide authentication. 

## AuthZ 

AuthZ is a contraction of Authorization. 

Authorization is verifying that your user is allowed to perform actions of view content based on who they are (validated in Authentication). 

Authorization is more application specific than Authentication. Roles and permissions are often decided by the domain that you're operating in. Custom applications typically require custom Authorization but can work quite well with general purpose Authentication. 

## TLDR; 
AuthZ and AuthN are just contractions of Authorization and Authentication. Authentication is general purpose and can be plugged into your application. Authorization is more complex and needs to take into account your application domain.
The Legality of Web Scraping
Tags: blog, discuss, javascript, python
Published: 2022-02-02 08:25:49

Web Scraping is an automated technique used for collecting various types of data on web pages.

And while the technical aspects of it may be pretty clear to most of the people reading this, the legal aspects may be not. 

In BotMeNot's latest blog post we address this exact topic.

If you're interested you may read more here - https://botmenot.com/blog/the-legality-of-web-scraping/ !
Build a loading with HTML, CSS, Javascript
Tags: html, css, javascript, webdev
Published: 2022-02-02 08:24:28

Hello friends,
In this article, I will teach you how to create a loading with HTML, CSS, JavaScript. And I hope you like this article.

View live Codepen: https://codepen.io/mhadi-2003/pen/jOaqKjz

## HTML

```
<div class="container">
    <div class="loading-container">
        <div class="loading"></div>
    </div>
            
    <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. 
    Quibusdam nostrum, repellendus enim eveniet deleniti eaque 
    animi suscipit, nihil, fugiat ducimus tenetur quas quam. 
    Tempore magnam corrupti earum consequatur, modi unde?</p> 
</div>

```
## CSS

```
    * {
        box-sizing: border-box;
        padding: 0;
        margin: 0;
    }

    body {
        font-family: "Segoe UI", sans-serif;
        line-height: 1.5;
    }

    /* Container */
    .container {
        margin: 50px auto;
        width: 95%;
    }
    @media (min-width: 700px) {
        .container {
            width: 60%;
        }
    }

    /* Loading */
    .loading-container {
        background-color: #ffffff;
        position: fixed;
        z-index: 1000;
        height: 100%;
        width: 100%;
        bottom: 0;
        right: 0;
        left: 0;
        top: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: ease all 4s;
    }
    .loaded {
        visibility: hidden;
        opacity: 0;
    }
    .loading {
        border: 2px solid blue;
        border-radius: 50%;
        border-bottom: none;
        border-left: none;
        height: 50px;
        width: 50px;
        animation-name: loader;
        animation-duration: .5s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
    }
    @keyframes loader {
        0% {
            transform: rotate(0);
        }
        100% {
            transform: rotate(360deg);
        }
    }

    /* P */
    p {
        margin-bottom: 12px;
    }
```
## JavaScript

```
window.addEventListener("load" , function(){
    document.querySelector(".loading-container").classList.add("loaded");
})

```
Happiness Starter
Tags: discuss, personal, improvement, happiness
Published: 2022-02-02 08:03:59

---
title: Happiness Starter
published: true
description: Bring a happy face to every interaction
tags: discuss, personal, improvement, happiness
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hnp9pnq8me59svoka067.jpg
---

_Originally published on [my blog](https://www.nikola-breznjak.com/blog/daily-thoughts/happiness-starter/)._

> What if you're the one who brings a happy face to every interaction? How much would the quality of your life change if only 0.5% of the people reciprocate? Start small and see the positivity around you compound. Don't get discouraged, life's too short to be dragging a :( face around. What happens to you is not your choice - what you make of it, is.

---

This is [why I write](https://www.nikola-breznjak.com/blog/daily-thoughts/why-do-i-write-these-daily-thoughts-posts/) these 'daily thoughts' posts.
Do your first lab in AZURE!!
Tags: cloud, beginners, azure, aws
Published: 2022-02-02 07:22:46

Today we'll be doing our first lab. 
I know you guys are also excited like me but before that, let's first cover the theory and understand more about the topic we are going to see in lab.

**Resource Group (RG)** - RG is a container that holds related resources for an Azure solution. The resource group includes those resources that you want to manage as a group that are created in the same region. Based on what makes the most sense for your organization, you pick which resources belong in a resource group.

![Resource Group-start](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xxohdfr51z4pl8lwxr3l.png)
 
![Resource Group-start](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lsjsphadu4m6yw6i6hxc.png)
 
![Resource Group-created](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a2dgdhlcevkj82ixso2p.png)
   
Congratulations! you have taken the first step in cloud.
 
Before concluding, It's very important to know few points about Resource Group. 
* It's **Free** - Nothing is charged to create a RG, but you still need an activated account to create it.
* **Easy to Delete** - Every service that you enable will be in a particular resource group that you select, and by deleting the RG every thing will automatically get deleted.![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0z0o6y71576v4vukzy05.png)

If you have any questions, you can ask me in the comments section.