teleren/devto huggingface dataset:
Why is cloud application testing important?
Tags: cloudtesting, cloudapplicationtesting
Published: 2019-11-15 05:44:18


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5j58py7qif5264ar7krt.jpg)Cloud testing is characterized as a Software Testing type that checks Cloud Computing administrations. Distributed computing is a web-based stage that renders different registering administrations like equipment, programming, and other computer-related benefits remotely. There are three models of <a href="https://www.testingxperts.com/services/cloud-testing/ca-en">cloud application computing</a>.

SaaS- Software as a service
The highest layer here is the application layer, which will commonly noticeable to any client. Here, applications/items are accessible to the clients on-request by means of the web. Henceforth as opposed to procuring the permit for a specific client, this demonstrates to be the most financially savvy method for ensuring that the permit is consistently being used. Instances of this are Gmail, Google Docs, Photoshop, and so on.

PaaS- Platform as a service
The focal layer in the cloud Is the stage. Here there is no power over the basic foundation, however, you can get to the sent applications. Consequently, this gives the whole run-time condition on request which could be an advancement or a test domain. Thus in this model, most normally you would have a VM that contains the total condition like OS, required middleware, and so on accessible when you need it.

IaaS- Infrastructure as a service
This is the most central layer which shapes the structure square of the cloud. It, for the most part, involves physical assets, for example, Storage, Network gadgets, registering servers, and so forth. All these processing assets are accessible on request, where a client pays for it according to his use.

Conclusion
Today, Cloud Computing has gotten one of those "huge blasts" in the business. Most associations are presently inclining towards embracing the cloud on account of its adaptability, versatility and decreased costs. 

Utilizing the cloud for testing is immensely helping associations to obtain the necessary tools, programming licenses, infrastructures at an extremely minimal effort without setting it up themselves and later stress over its most extreme use.
Steps to Launch new AWS EC2 Instance 
Tags: server, aws, ec2
Published: 2019-11-15 05:37:30

---
title: Steps to Launch new AWS EC2 Instance 
published: true
description: 
tags: server, aws, ec2
---

Pre-setup:
1. Select Ubuntu server.
2. Create new key pair to connect with instance securely.
3. After instance setup, connect with your instance
    1. Open an SSH client.
    2. Locate your private key file (keyname.pem). The wizard automatically detects the key you used to launch the instance.
    3. Your key must not be publicly viewable for SSH to work. Use this command if needed:
`chmod 400 brand-nation.pem`
    4. Connect to your instance using its Public DNS:
ec2-12-345-678-91.compute-1.amazonaws.com
    5. Example: ssh -i "keyname.pem" ubuntu@ec2-12-345-678-91.compute-1.amazonaws.com

Setup:
1. sudo apt-get update
2. sudo apt-get dist-upgrade
3. sudo apt-get install apache2
4. sudo apt-get install mysql-server
5. sudo mysql_secure_installation utility
6. sudo apt-get install php libapache2-mod-php
7. sudo adduser ubuntu www-data
8. sudo chown -R www-data:www-data /var/www/html
9. sudo chmod -R g+rw /var/www/html
10. sudo mysql -u root -p
11. sudo a2enmod rewrite
12. sudo service apache2 restart
13. sudo nano /etc/apache2/sites-available/000-default.conf
```
#Below “DocumentRoot /var/www/html” add the following lines:
<Directory “/var/www/html”>
AllowOverride All
</Directory>
```

Common Issues:
1. Assign security group to instance, so TCP, HTTP works
2. Listing Directory Failed: Connect FTP via SFTP
3. MYSQL permission issues (https://support.rackspace.com/how-to/installing-mysql-server-on-ubuntu/)
4. Mysql extension is missing in php7 installation. Ubuntu 16.04 (sudo apt-get install php-mysql)

Start server and test:
```
sudo service httpd start
sudo service mysqld start
chkconfig --list httpd
```
Basic ERN Stack Application Setup
Tags: javascript, express, react, node
Published: 2019-11-15 05:37:01

---
title: Basic ERN Stack Application Setup
published: true
description: 
tags: Javascript, Express, React, Nodejs
cover_image: https://thepracticaldev.s3.amazonaws.com/i/gizxxyo87r2z6s0hxyq1.jpg
---

ERN Stack Application is without (M)Mongo, as I haven't database need in this app. This is very interesting setup for a front end developer who mostly crafted websites in HTML5, CSS3 and Vanilla Javascript or jQuery and deployed websites via FTP on Apache Server.

Here I used Express for handling server requests. Reactjs to develop front end using Components, Hooks, JSX, State Management i.e No need to use jquery to handle client side and server side tasks. And base layer is Nodejs (V8 Chrome Engine) is being used to make possible to execute javascript code on command line. 

####1. First start with React ready to go npm module `create-react-app`
```
npx create-react-app ern-app
cd ern-app
npm install
```

####2. Start developing for front end after this command
```
npm start
```

####3. Install Express server
```
npm install express --save
```

####4. Setup Express server
```
const express = require('express')
const dotenv = require('dotenv');
const cors = require("cors");
const app = express();
const bodyParser = require("body-parser");
const path = require('path');
const axios = require('axios');
dotenv.config();

//Here we are configuring express to use body-parser as middle-ware.
app.use(bodyParser.urlencoded({
  extended: true
}));
app.use(bodyParser.json());

// Static Routes
app.get('/', function (req, res) {
  res.sendFile(path.join(__dirname, 'build', 'home.html'));
});

// React Routes
app.use(express.static(path.join(__dirname, 'build')));
app.get('*', function (req, res, next) {
  res.sendFile(path.join(__dirname, 'build', 'index.html'));
});

const port = process.env.SERVER_PORT || 8080;
```

####5. Start Express Server
```
node server
```

####6. Production
Setup nodemon or my favorite one pm2 on server using this command `npm install pm2 -g` followed by `pm2 start server.js` And after check status of server by `pm2 show server`
Preview: 
![PM2 Preview](https://thepracticaldev.s3.amazonaws.com/i/3p91iwr6v34yar8mrk9x.png)

Always run React build command on server to get optimised version of your React app.
```
npm run build
```

Feel free to contact if you need any help regarding this setup 🤗
Which would you use? Regarding _.chunk
Published: 2019-11-15 05:21:48

I was looking through the [You Don't Need Lodash](https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore) repo and I decided to take a crack at making my own _.chunk function.

```js
// === sample 1 ===
// I think this is clear and avoids mutable data. The basic idea is:
//   1. make a new sub array when you need a new sub array
//   2. keep the old stuff and add the new thing to the end
const chunk = (input, size) => {
  return input.reduce((arr, item, idx) => {
    return idx % size === 0
      ? [...arr, [item]]
      : [...arr.slice(0, -1), [...arr.slice(-1)[0], item]];
  }, []);
};

// === sample 1.2 ===
// I think this is a slightly clearer way to state that you need a new sub array
const chunk = (input, size) => {
  return input.reduce((arr, item, idx) => {
    return arr.length === 0 || arr.slice(-1)[0].length === size
      ? [...arr, [item]]
      : [...arr.slice(0, -1), [...arr.slice(-1)[0], item]];
  }, []);
};

// === sample 1.3 ===
// Naming the sub array might be most clear.
const chunk = (input, size) => {
  return input.reduce((arr, item) => {
    const subArr = arr.slice(-1)[0];
    return arr.length === 0 || subArr.length === size
      ? [...arr, [item]]
      : [...arr.slice(0, -1), [...subArr, item]];
  }, []);
};


// === sample 2 ===
// I think this is also clear, but uses mutable data. The basic idea is:
//   1. fill a sub array
//   2. when a sub array is full, create a new sub array and append it to the
//      main array
const chunk = (input, size) => {
  return input.reduce(({arr, subArr}, item) => {
    if (subArr === undefined || subArr.length === size) {
      subArr = [item];
      arr.push(subArr);
    } else {
      subArr.push(item);
    }

    return {arr, subArr};
  }, {arr: [], subArr: undefined}).arr;
};

// === sample 2.1 ===
// Here's the same function as sample 2 using a loop
const chunk = (input, size) => {
  const arr = [];
  let subArr = [];
  for (item of input) {
    if (arr.length === 0 || subArr.length === size) {
      subArr = [item];
      arr.push(subArr);
    } else {
      subArr.push(item);
    }
  }
  return arr;
};

// === sample 3 ===
// Here's a mathy version. I'm not a fan since it's harder to explain this in a
// simple way.
function chunk(input, size) {
  var arr = [];
  for (var idx = 0; idx < input.length; idx++) {
    var item = input[idx];
    var newIdx = Math.floor(idx / size);
    var newSubIdx = idx - newIdx * size;

    if (idx % size === 0) arr[newIdx] = [];
       arr[newIdx][newSubIdx] = item;
  }
  return arr;
}
```

I think my favorite is sample 1.3 since it avoids mutable data and is clear to me. Which function would you use? Would you make your own?

Edit: I had a mistake in my initial code when I didn't handle when `arr.length === 0` in this code `arr.length === 0 || subArr.length === size`. This makes the samples slightly less nice, but still relatively clear in my opinion.
Slicing in Python
Published: 2019-11-15 04:58:38

Learning a new programming language can seem like a daunting task. As overwhelming as it may seem; the more you learn, you will start to see similarities, and common types of practices that traverse multiple languages. One of these similarities include the idea of "slicing" some form of data. 
Slicing does exactly what it implies, it "slices" up data into smaller parts. Every language has their own particular way of doing this. Lets take a look at how Python in particular handles this kind of operation.
First let's start with making two different variables, one a string, the other a list.
 
```python
my_string = "Hello, I am a string!"
my_list= ["A0","B1","C2","D3","E4","F5"]

```
There is a different character at each index. If we wanted to call up that character we could write something like this, using a square bracket
```python
print(my_string[3])
#output would be "l" as l is in the third index of the string. 
print(my_list[0])
#output would be "A0" as "D3" is the first index in the list, and index count starts as 0 
```
If we wanted to start _slicing_ things up, all we need to add is a simple colon ":". The colon will indicate a _starting_ point. It will output the data starting at that point. If you don't add a number after the colon it will automatically print the rest of the length 

```python
my_string = "Hello, I am a string!"
my_list= ["A0","B1","C2","D3","E4","F5"]

string_splice = my_string[3]
list_splice = my_list[0]

print(string_splice)
#output would be "lo, I am a string!"
print(list_splice)
#output would be "['A0', 'B1', 'C2', 'D3', 'E4', 'F5']"

```

If you were to add a number after the colon you would be giving it an _end_ point, for example

```python
my_string = "Hello, I am a string!"
my_list= ["A0","B1","C2","D3","E4","F5"]

string_splice = my_string[3:8]
list_splice = my_list[0:3]

print(string_splice)
#output would be "lo, I"
print(list_splice)
#output would be "['A0', 'B1', 'C2']"

```


for my list_splice we are essentially saying _start_ at the 0 index, then move 3 spaces forward and stop. we have just successfully sliced our data
But we aren't done yet! A third number can be added, called the step. 


```python
my_string = "Hello, I am a string!"
my_list= ["A0","B1","C2","D3","E4","F5"]

string_splice = my_string[0::2]
list_splice = my_list[0::2]

print(string_splice)
#output would be "Hlo  masrn!"
print(list_splice)
#output would be "['A0', 'C2', 'E4']"

```
the step will essentially say, start at an index:end at this index:take this step through out 

and there you have it. A way to slice data in python.
No Code Conf in 10 pictures
Tags: conference, events, nocode, visualdev
Published: 2019-11-19 19:20:41

---
title: No Code Conf in 10 pictures
published: true
date: 2019-11-15 04:29:33 UTC
tags: Conference,Events,No Code,Visual Dev
canonical_url: https://maxkatz.org/2019/11/14/no-code-conf-in-10-pictures/
---

Last week I attended [No Code Conf](https://webflow.com/nocodeconf) in San Francisco. Here are some pictures from this great event.

![nocodeconf-youdontneed](https://katzmax.files.wordpress.com/2019/11/nocodeconf-youdontneed.jpg?w=1024&h=768)<figcaption id="caption-attachment-10893">You can build value today without knowing how to code</figcaption>

![nocodeconf-ecosystem](https://katzmax.files.wordpress.com/2019/11/nocodeconf-ecosystem.jpg?w=1024&h=768)<figcaption id="caption-attachment-10889">Some of the players in the No Code space</figcaption>

![nocodeconf-createsoftware](https://katzmax.files.wordpress.com/2019/11/nocodeconf-createsoftware.jpg?w=1024&h=768)<figcaption id="caption-attachment-10887">No Code will allow many more people to create software</figcaption>

![nocodeconf-100x](https://katzmax.files.wordpress.com/2019/11/nocodeconf-100x.jpg?w=1024&h=768)<figcaption id="caption-attachment-10886">The promise of No Code: empower 100x more makers</figcaption>

![nocodeconf-curve](https://katzmax.files.wordpress.com/2019/11/nocodeconf-curve.jpg?w=1024&h=768)<figcaption id="caption-attachment-10888">Software creation space is still at the very early stages. No Code will move the arrow up the curve fast</figcaption>

![nocodeconf-webactivity](https://katzmax.files.wordpress.com/2019/11/nocodeconf-webactivity.jpg?w=1024&h=768)<figcaption id="caption-attachment-10892">Amazing results when Getaround switched to No Code platform for their web site</figcaption>

![nocodeconf-legos2](https://katzmax.files.wordpress.com/2019/11/nocodeconf-legos2.jpg?w=1024&h=768)<figcaption id="caption-attachment-10891">Gluing together various No Code services and APIs you can build truly amazing applications</figcaption>

![nocodeconf-legos](https://katzmax.files.wordpress.com/2019/11/nocodeconf-legos.jpg?w=1024&h=768)<figcaption id="caption-attachment-10890">Example of a large application built with various No Code services</figcaption>

![nocodeconf-panel](https://katzmax.files.wordpress.com/2019/11/nocodeconf-panel.jpg?w=1024&h=768)<figcaption id="caption-attachment-10899">Why No Code important for the future of software panel. Hiten Shah (FYI), Brianne Kimmel (Work Life Ventures), Vlad Magdalin (Webflow), Arun Mathew (Accel)</figcaption>

![nocodeconf-newcx](https://katzmax.files.wordpress.com/2019/11/nocodeconf-newcx.jpg?w=1024&h=768)<figcaption id="caption-attachment-10900">The new Customer Experience (CX) stack</figcaption>

And here is one more picture, because why not. I really like this message. Webflow can be replaced with any No Code tool.

![nocodeconf-getdone](https://katzmax.files.wordpress.com/2019/11/nocodeconf-getdone.jpg?w=1024&h=768)<figcaption id="caption-attachment-10902">This show the value of No Code tooling – it gets sh*t done!</figcaption>
Unconventional Secure and Asynchronous RESTful APIs using SSH
Published: 2019-12-20 06:15:43

---
title: Unconventional Secure and Asynchronous RESTful APIs using SSH
published: true
date: 2019-11-15 04:00:00 UTC
tags: 
canonical_url: https://tryexceptpass.org/article/secure-asynchronous-apis-using-ssh/
cover_image: https://tryexceptpass.org/images/secure-asynchronous-apis-using-ssh.webp
---

Some time ago, in a desperate search for asynchronicity, I came across a Python package that changed the way I look at remote interfaces: [AsyncSSH](http://asyncssh.readthedocs.io/en/latest/).

Reading through their documentation and example code, you’ll find an interesting assortment of use cases. All of which take advantage of the authentication and encryption capabilities of SSH, while using Python’s `asyncio` to handle asynchronous communications.

Thinking about various applications I’ve developed over the years, many included functions that could benefit from decoupling into separate services. But at times, I would avoid it due to security implications.

I wanted to build informative dashboards that optimize maintenance tasks. But they bypassed business logic, so I wouldn’t dare expose them over the same interfaces. I even looked at using HTTPS client certs, but support from REST frameworks seemed limited.

I realized that `asyncssh` could provide the extra security I was looking for over a well known key-based system. And in my never-ending quest to find what makes things tick, I decided to take a stab at writing a REST-ish service over SSH.

A great way to familiarize myself with the library and the protocol, it helped me learn more about building asynchronous apps, creating a small framework called [korv](https://github.com/tryexceptpass/korv).

[Read On...](https://tryexceptpass.org/article/secure-asynchronous-apis-using-ssh/)
Speak it with panel
Published: 2019-11-15 03:35:56

![](https://lh3.googleusercontent.com/VXsNnrE723HMBXWtPQLgHL6shC6BnPo5i84tv8jUnT0t7fFu-P-U1N2tXLYNWDAkqLBFOl_ROuw=w640-h400-e365)

![](https://lh3.googleusercontent.com/MyoCXkeNi0JJ91b9I1hvd8HbJmjMylAXRHPdAfVseJ01MLLwg1b8Opdsi6toFhveTbaRIwoLaA=w640-h400-e365)

![](https://lh3.googleusercontent.com/MyoCXkeNi0JJ91b9I1hvd8HbJmjMylAXRHPdAfVseJ01MLLwg1b8Opdsi6toFhveTbaRIwoLaA=w640-h400-e365)

![](https://lh3.googleusercontent.com/LgbEky4427Kp2wMUCH5QTj5YNLwlYAiCS1ekklcXP4YP7zQYpUhDyqwiDxaFUDGhlrYjORppdA=w640-h400-e365)

![](https://lh3.googleusercontent.com/c0_ZKao0eISxOaVT3XqFQelor7qCZFh4lT4M52zON4h6XR-DNQwY5f4cGwMQUY2i21p4LKA_=w640-h400-e365)

Converts text to speech and shows a panel. Select and speak it!
- Reads selected text to voice.
- Automatically detect page language so the voice is changed according to its language
- Choose language, voice, volume, rate and pitch
- Speak with multiple voices. Option to limit blocks by specified number of words.
- In settings page, options to set the volume of every voice
- Panel appears on the page showing the current spoken word. 
- Panel features:
  - Minimize, maximize and close
  - Movable and resizable
  - Increase or decrease font size
  - Set font color, background color
  - Set font
  - Set pattern background image

https://chrome.google.com/webstore/detail/speak-it-%20-panel/opelngfhbdeingajbfnbaohdnfopehab
Red Dog for Dev Episode Two
Tags: apimanagement, azure, containers, news
Published: 2019-11-16 00:16:37

---
title: Red Dog for Dev Episode Two
published: true
date: 2019-11-15 03:23:38 UTC
tags: API Management,Azure,Containers,news
canonical_url: https://blog.siliconvalve.com/2019/11/15/red-dog-for-dev-episode-two/
---

Welcome to episode two of 'Red Dog for Dev'!

This fortnight's episode covers announcements coming out of Microsoft Ignite in Orlando that cover Azure API Management, Azure App Service and Azure Container Registry.

Our quick demo is of Visual Studio Online.

{% vimeo 373284357 %}

If you have any feedback on the episode or ideas for demos please feel free to leave a comment!

### Episode Links

Here are the links that appear in the episode:

- Self-hosted Azure API Management: [https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/](https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
- Azure Container Registry Updates:
  - [https://azure.microsoft.com/updates/general-availability-azure-container-registry-oci-artifact-support/](https://azure.microsoft.com/updates/general-availability-azure-container-registry-oci-artifact-support/)
  - [https://docs.microsoft.com/en-us/azure/security-center/azure-container-registry-integration](https://docs.microsoft.com/en-us/azure/security-center/azure-container-registry-integration)
  - [https://docs.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions](https://docs.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions)
- Azure App Service Managed Certificates: [https://azure.github.io/AppService/2019/11/04/Announcing-Managed-Certificates.html](https://azure.github.io/AppService/2019/11/04/Announcing-Managed-Certificates.html)
- Bot Framework Composer: [https://github.com/Microsoft/BotFramework-Composer](https://github.com/Microsoft/BotFramework-Composer)
- Visual Studio Online: [https://online.visualstudio.com/](https://online.visualstudio.com/)

Happy Days! 😎
Have you set up or been involved in an accessibility community of practice?
Tags: a11y, discuss, webdev
Published: 2019-11-15 02:28:03

I'm embarking on a journey to set up a [community of practice](https://wenger-trayner.com/introduction-to-communities-of-practice/) for accessible web and mobile development for my organization at work. Specifically, I'm trying to get representatives from seven teams together on a regular basis to discuss accessibility practices, with the ultimate goal of making each team more informed about accessibility. I've never organized anything like this, so it's very new to me.

Have you set up or been involved in an accessibility community of practice, accessibility users group, or anything similiar? If so, what was your experience?
Using Postman like a PRO with these tricks 😎
Tags: webdev, postman, dev, tools
Published: 2019-11-15 02:25:14

---
title: Using Postman like a PRO with these tricks 😎
published: true
description: If you're familiar with Postman, this post would be really useful because I will share some tricks to use a diary.
tags: webdev, postman, dev, tools
cover_image: https://res.cloudinary.com/dhai0piiq/image/upload/v1573777740/postman-pro-tricks.jpg
---

In these last months, I learn a lot about this great tool that allows me to speed up and optimize my workflow reducing time on repetitive tasks. 

If you're new with this tool, I recommend it before to read the [entire documentation](https://learning.getpostman.com/) to look at the features and practice with some real cases.

##👉 Setting environment variables automatically
So, let's start with my favorite trick. This is a script to be executed each time that copies the result of the petition and saves it into environment variables. This is great when you need to specify an authentication token that expires at a certain time.

```javascript
var data = JSON.parse(responseBody);
pm.environment.set("Access-Token", data.access_token);
```

With that code, you're copying to your environment variable "Access-Token" the value obtained after executing the request. This script avoids copy and pastes values manually in your environment variables. In this way, you only need to invoke that variable to get the value in the authentication input or somewhere.

##👉 Replicating an entire request
Another common trick is that it allows reproducing a request. Let's say we want to reproduce the same request when access to Coindesk to obtain the price of the bitcoin.

Open the browser development tools on Chrome. Then, go to the "Network Tab" and filter the requests desired. Right-click the one you are interested in, and select "Copy as cURL". Now we have the cURL, go back to Postman and click on the top-left of the screen the button "Import", and choose "Paste Raw Text" tab. Paste what you copied, and press Import. Now press "Send" and the request would be executed directly from your client.

![Example](https://res.cloudinary.com/dhai0piiq/image/upload/v1573783258/postman-trick.gif)

##💬 Sharing your knowledge 
And you, what other trick knows with Postman? Post a comment below.