teleren/devto huggingface dataset:
Supported Languages on Serverless
Tags: serverless, aws, azure
Published: 2020-03-02 15:11:17

# Serverless Architecture
Serverless architecture allows you to focus on the development of application without thinking about the details of the infrastructure. Therefore, it saves you time in the development of your application.

You develop your functions and handlers and then connect events to your handlers. That's it. This approach also called Function as a Service (Faas).

# Serverless Infrastructure Providers
There are a couple of cloud providers that have serverless service. Major ones are Amazon Web Services (AWS), Azure, Google Cloud, Firebase, Cloudflare, IBM Cloud and Alibaba Cloud. There are differences between them in terms of supported languages, CPU, memory, etc. This article focuses on the supported programming languages of these cloud providers.

![Supported Languages on Serverless](https://dev-to-uploads.s3.amazonaws.com/i/85lbhkh17nsccshauqn1.png)

# Serverless Languages
In the chart, the left-hand side lists the available programming languages and the right-hand side lists the cloud providers. If there is a link between language and cloud provider, that means this language is supported by that cloud provider. As you can see that not all languages supported by every cloud provider except AWS and IBM cloud has a Runtime API or Docker that supports every language on top of that. Javascript is the only language supported by every cloud provider.

In Serverless infrastructure, since you don't depend on infrastructure, you can easily switch between cloud providers. Therefore, the most important parameter here is the programming language that you develop your application.

Most recent version of supported languages can be reachable via this website [https://serverless-lang.web.app/](https://serverless-lang.web.app/)
Website testing: Key Steps to Consider.Part II
Published: 2020-03-02 15:04:12

Website testing isn’t what it used to be. Your site now has to work flawlessly on a range of desktop browsers and mobile devices with various screen resolutions.

What aspects to consider when focusing on website testing? Scroll down if you missed the first part.

Usability testing
4-6 people can be involved in the process of checking the website usability. Their feedback undergoes further thorough analysis.

Security testing
Can users access closed pages and the admin panel? It's also important to identify any vulnerabilities or threats that can jeopardize the application security.

Performance testing
A tester checks website speed, responsiveness, and stability under a particular workload.

Regression testing
When all found bugs are fixed, a tester runs regression testing to control the quality of the improvements and define new errors if there are such. The regression testing should be repeated until the website meets technical specifications.

Successfully performed quality website testing is an assurance that the website can be moved to production, where it can effectively fulfill assigned business tasks.
The Process of a Website Testing. Part I
Tags: website, testing, websitetestin, qa
Published: 2020-03-02 15:02:45

Website testing explores functionality, reliability, and performance to ensure a site works as planned for users. But that’s only the beginning.
Let’s consider the key steps of a website testing process in detail.

Arrangement stage
A testers studies all provided documentation, analyses functionality using technical documentation, discovers the latest website mockups and creates a plan for a further testing process.

Functional testing
- This is the longest phase of website testing. The main goal here is to check all functionality described in the project documentation:
- Key website features.
- Existing forms, like “registration”, “sing in”, “feedback” and “contact us”.
- On-site search and relevance of the provided search results.
- Hyperlinks and non-working backlinks.
- Data and files uploading on the webs server.
- Content relevance, etc.

Pages proof testing
A test engineer checks the web page elements location, based on their positions on mockups, as well as reviews images and graphics. It's also important to test the website across multiple browsers and in different screen resolutions.

Want to read about the next steps? Follow the updates.
Algorithm 101: 7 Ways to Reverse a String
Tags: algorithms, javascript, tutorial, string
Published: 2020-03-02 15:02:36

String reversal is probably the most common algorithm question ever in the history of programming. In how many ways can you reverse a given string?

```javascript
stringReversal("samson"); //nosmas

stringReversal("njoku samson ebere"); //erebe nosmas ukojn
```

We will be looking at seven (7) ways we can reverse a given string in this article.

### Prerequisite
To flow with this article, it is expected that you have basic understanding of javascript's string methods and/or array methods.

### Reversing a string using:

* Only javascript built-in methods

```javascript
      function stringReversal(str) {
        let newString = str
          .split("")
          .reverse()
          .join("");
        return newString;
      }
```

* Javascript built-in methods and spread operator

```javascript
      function stringReversal(str) {
        let newString = [...str].reverse().join("");
        return newString;
      }
```

* for...loop

```javascript
      function stringReversal(str) {
        let newString = "";

        for (let i = str.length; i >= 0 ; i--) {
          newString += str[i];
        }
        return newString;
      }
```

* for...in loop

```javascript
        function stringReversal(str) {
          let newString = "";

          for (s in str) {
            newString = str[s] + newString;
          }

          return newString;
        }
```

* for...of loop

```javascript
        function stringReversal(str) {
          let newString = "";

          for (s of str) {
            newString = s + newString;
          }

          return newString;
        }
```

* reduce() and spread operator
```javascript
        function stringReversal(str) {
          let newString = [...str].reduce((acc, char) => char + acc);
          return newString;
        }
```

* reduce() and split() method
```javascript
      function stringReversal(str) {
        let newString = str.split("").reduce((acc, char) => char + acc);
        return newString;
      }
```

### Conclusion
There are many ways to solve problems programmatically. You are only limited by your imagination. 

Aside these seven, there are others ways to solve the string reversal problem too. Feel free to let me know other ways you solved yours in the comment section.

If you have questions, comments or suggestions, please drop them in the comment section.

Up Next: [Algorithm 101: 13 Ways to Count Vowels in a String](https://dev.to/ebereplenty/algorithm-101-13-ways-to-count-vowels-in-a-string-de5)

You can also follow and message me on social media platforms. 

**[Twitter](https://twitter.com/eberetwit) | [LinkedIn](https://www.linkedin.com/in/samson-ebere-njoku-profile/) | [Github](https://github.com/EBEREGIT)**

Thank You For Your Time.
Python setter and getter function
Tags: python, beginners
Published: 2020-03-02 14:17:13

The <a href="https://python.org">Python</a> `setattr()` function corresponds to the function `getattr()`. It set the attribute values of an object.

Python is an object orientated language, so you can have multiple objects in your applications run-time. 

Objects (from <a href="https://pythonbasics.org/class/">classes</a>) can have unique values. These values should be set using a getter and setter function. Python has the functions `setattr()` and `getattr()` for that.

The setattr() syntax is:
```python
setattr (object, name, value)
```
with parameters:

* Object: the object.
* Name: string, object properties.
* Value: property value.

### examples

The following examples illustrate `setattr()` function using the method:

```python
>>> class A:
...    foo = 1
... 
>>> obj1 = A()
>>> getattr(obj1, 'foo')
1
>>> setattr(obj1, 'foo', 6)
>>> getattr(obj1, 'foo')
6
>>> 
```

Of course you can use properties without getter and setter, but that's a bad practice.

```python
>>> obj1.foo
6
>>> obj1.foo = 7
>>> 
```

If the property does not exist will create a new object property, and it will do property assignment:

```python
>>> obj1.name = "Alice"
>>> getattr(obj1, 'name')
'Alice'
>>> 
```

This modifies the existing object only, not the class the object is derived from.

```python
>>> dir(A)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'foo']
>>> 
```

But you should define all properties in the class, this is a best practice.

**Related links:**
* <a href="https://gumroad.com/l/dcsp">Python programming book</a>
* <a href="https://docs.python.org/3.5/library/functions.html#setattr">Setattr Python docs reference</a>
Top 3 Myths about Manual Testing
Tags: manualtesting, softwaretesting, qa
Published: 2020-03-02 14:58:19

- Everyone can test manually. Hmmm.... We do not think so. To perform any testing type, including manual, one should have at least an initial understanding of the testing process as well as some technical background.
- Automated testing is more powerful than manual. One of the fundamental principles says: 100% automation is impossible. Regardless of the project type, you'll have to use manual testing to check usability, for example.
- Manual testing is simple. No again. How can this testing type be an easy one when you have to check maximum possible scenarios using a minimal quantity of test-cases? Serious analytical skills are definitely required here. 

Know other myths or have something to add? Comment below.
Quality Assurance: Stages and Objectives
Tags: qa, softwaretesting
Published: 2020-03-02 14:55:12

During the QA process, it's necessary to:

- Provide a tool for assessing the product quality to all participants of the SDL.
- Measure quality metrics and develop an action plan for the product quality improvement. 
- Verify product quality.
- Calculate efficiency. 
-  Calculate risks. 
- Decide on the product realize if it fits quality metrics.

Foregoing tasks are performed in stages, through the quality assurance planning, implementation, quality control, and results analysis.
Alpha Testing in Software Development 
Tags: qa, alphatestin, softwaretesting
Published: 2020-03-02 14:53:27

This type of testing is usually performed by in-house testers and developers who should expect and be ready to fix critical issues, make necessary design improvements for better usability before moving to beta testing. The entire process is strictly controlled and performed in the emulated environment, along with the appliance of white-box and black-box techniques.

Though the complete functionality cannot be tested, as the software is still under development, engineers get a good insight into the software reliability, can simulate the behavior of real users, detect omitted serious errors and fix them, taking into account the software design and functionality. As a result, alpha testing helps to define problems and prepare an operating software version for further testing activities.
Beta Testing in Software Development 
Tags: betatesting, qa, sotwaretesting
Published: 2020-03-02 14:50:03


During beta testing, a working pre-version is released to the end-users for a specified time to give the software-under-test a trial in real working conditions, uncover expected and unexpected errors, and collect feedback. 

Here are the main beta testing benefits: 

- Product validation & unbiased feedback. Beta testing is a great chance to receive real-time suggestions from users, check every aspect, including documentation, installation guides, and manuals.
- Quality product release and cost savings. A well-planned beta testing mitigates the risk of post-release flaws and is aimed to enhance users' experience in the future. 
- Improved relationship with customers. You can "foresee" their expectations and increase loyalty offering the solution they are looking for. 
- Customer support in action. You get ready for it well in advance and can make sure that your support is working and ready to offer qualified help in case of any questions. 
http://hire-tester.com
Types of Software Testing and Their Impact on Your Product Quality

Tags: qa, testing, testingtype
Published: 2020-03-02 14:47:32

Most of you may probably know what software testing is and why it’s so important. But what about the exact types of testing which are a must for a successful product release?

Software testing types can be grouped not only by the testing objectives and quality criteria but also by the factors, closely connected to the software development life-cycle.

More at https://bit.ly/38iJOku

Summing up

After reading the article you may think that yes, there are plenty of software testing types that directly impact the end product quality, your reputation on the market, income in the long run and, thus, cannot be neglected. Even more, you’d better focus on complex software testing, integrating various software testing types to build a single system for an in-depth product check.
The next step is to define whether to run QA in-house or find a vendor specializing in it.

It would be even better to say finding not just a vendor but a partner able to advise on the right testing types for your particular case, who shares your values and works to nurture trusted long-term partnerships instead of peddling additional checks to earn more.

Agree? Share your ideas in comments.
Daily Challenge #199 - List of All Rationals
Tags: challenge
Published: 2020-03-02 14:46:41

---
title: Daily Challenge #199 - List of All Rationals
published: true
series: Daily Challenge
description: Construct a list containing every possible rational number.
tags: challenge
---
Implement a function that will construct a list containing every positive rational number:

Build a binary tree where each node is a rational and the root is 1/1, with the following rules for creating the nodes below:

The value of the left-hand node below a/b is a/a+b
The value of the right-hand node below a/b is a+b/b
So the tree will look like this:
<pre>
                       1/1
                  /           \ 
            1/2                  2/1
           /    \              /     \
       1/3        3/2        2/3       3/1
      /   \      /   \      /   \     /   \
   1/4    4/3  3/5   5/2  2/5   5/3  3/4   4/1
</pre>
Now traverse the tree, breadth first, to get a list of rationals.

`[ 1/1, 1/2, 2/1, 1/3, 3/2, 2/3, 3/1, 1/4, 4/3, 3/5, 5/2, .. ]`
Every positive rational will occur, in its reduced form, exactly once in the list, at a finite index.

We will use tuples of type [ Number, Number ] to represent rationals, where `[a,b]` represents `a / b`

Use this method to create an infinite list of tuples:
`function* allRationals() => [Number,Number]` // forever
matching the list described above:

`allRationals` => `[ [1,1], [1,2], [2,1], [1,3], [3,2], .. ]`

###Tests
a = `{ 0: [1,1], 3: [1,3], 4: [3,2], 10: [5,2] }`

a = `{ 100: [19,12], 1000: [39,28], 10000: [205,162], 100000: [713,586] }`

***
_This [challenge](https://www.codewars.com/kata/5e4e8f5a72d9550032953717) comes from Paul Robertson on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
particle.js  - Responsive Lush Green & Gold Bokeh with Hover Effect - Holding Page
Tags: codepen
Published: 2020-03-02 14:27:09

<p>Using particles.js to recreate a subtle green-gold bokeh effect
It needs jquery as well.
One of the layers is hoverable getting a bit more light while hovering the layer.</p>

<p>On mobile it will be replaced by a static image, to avoid a slow animation.</p>

<p> Best experience is on full screen</b>

{% codepen https://codepen.io/chris_tudor/pen/RwPgvjL %}
When you think there is no time for learning || coding - Covalence Conference 2020
Tags: pubicspeaking, motivation, talk, conferene
Published: 2020-03-02 14:44:40

👋Hello, I'm Eleftheria, an app developer, master student, content creator, and chocolate lover

This video is my talk in San Fransisco, USA at Covalence 2020. 

[Covalence](http://www.covalenceconf.com/) was held on the 24th of January at the Slack HQ 500 Howard St. 

✈️[Vlog](https://youtu.be/pZv9ROiQHPk) at San Fransisco

~ Thank you Felix Rieseberg for the invitation ~ 
~ Thank you to all the people helping to organize this beautiful event ~ 
~ To the audience, the volunteers, the catering company, Slack and the sponsors you all deserve a big --💓🤗



😎Top 3 list:
- How to stay motivated | A developer's edition | @BatsouElef: https://youtu.be/qMvEtb5OxNo
- How to be a Better Problem Solver | Tips and solutions: https://youtu.be/dELt7yKIxIA
- Simple Tips to Build a Personal Brand as a Developer (+ personal examples): https://youtu.be/7s0o1gi0iP0

🥰If you liked this video please share

🍩Would you care about buying me a coffee? You can do it here: [paypal.me/eleftheriabatsou](paypal.me/eleftheriabatsou) but If you can't that's ok too!


**************************************

🙏It would be nice to subscribe to my [Youtube](https://www.youtube.com/c/EleftheriaBatsou) channel. It’s free and it helps to create more content.

🌈[Youtube](https://www.youtube.com/c/EleftheriaBatsou) | [Codepen](https://codepen.io/EleftheriaBatsou) | [GitHub](https://github.com/EleftheriaBatsou) | [Twitter](https://twitter.com/BatsouElef) | [Site](http://eleftheriabatsou.com/) | [Instagram](https://www.instagram.com/eleftheriabatsou/)
Sorted() with Python
Tags: python, beginners
Published: 2020-03-02 14:41:28

You can use <a href="https://python.org">Python</a> `sorted()` function to do sort operation objects. The method sort differs from the method sorted: `sort()` method is applied on the list, `sorted()` return a new sorted list from the items in iterable.

The `sort()` method <a href="https://pythonbasics.org/sort-list/">sorts</a> the already existing list, no return value. The sorted method returns a new list, rather than operations carried out in the original list.

It returns a new sorted list from the items in iterable.

### sorted example

The following example demonstrates the use of sorted:
   
```python
>>> a = [5,7,6,3,4,1,2]
>>> b = sorted(a)
>>> a
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]
>>> 
```

To do an ascending sort call the sorted() function. It returns a new sorted list:

```python
>>> sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]
```

This is different than sort, which uses an existing list.

```python
>>> a = [5, 2, 3, 1, 4]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]
```
Python slice() function
Tags: python, beginners
Published: 2020-03-02 14:31:08

You can use the <a href="https://python.org">Pythons</a> `slice()` function to create object slices. It is mainly used in the slicing operation in the function parameter. 

You can use the `slice()` function for <a href="https://pythonspot.com/string-slices-part-2/">string slicing</a>. The difference with default slicing `[start:stop]` is that it looks nice.
 
You can use it like `slice(stop)` or `slice(start, stop [, step])```
The parameters are: 

* Start: Starting position
* Stop: End position
* Step: spacing

The function returns an object slice.

### examples

The following example shows how to use the slice of:

    >>> myslice = slice(5)
    >>> myslice
    slice(None, 5, None)
    >>> 
    >>> a = range(10)
    >>> a
    range(0, 10)
    >>> a[myslice]
    range(0, 5)
    >>> 

You can use the `slice()` method to to create a slice of a <a href="https://pythonbasics.org/list/">list</a>. You can do this instead of `[2:4]`:

    >>> x = ['a','b','c','d','e']
    >>> x[slice(2,4)]
    ['c', 'd']

or a more beautiful way to write it:

    >>> x = ['a','b','c','d','e']
    >>> myslice = slice(2,4)
    >>> x[myslice]
    ['c', 'd']
    >>>
2 things to keep in mind while writing code.
Tags: productivity, motivation, codenewbie, beginners
Published: 2020-03-02 14:20:49

Failing to write the code for the next Google? Well, friend, you are in luck today!!! Today I will share the only two things you need to keep in mind while programming.

1️⃣ Think that you are writing code for the best software company in the galaxy and it needs to be super-efficient.

2️⃣ Think that you are writing code for a person who just has started to code and it needs to be super readable.

That's it!!! Isn't that simple?

1️⃣ Writing efficient code:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/35jsg6xcz3zvhlslh9mh.jpg)

Avoid "Get the job done" type of codes. Yeah, they can get the job done for 'you' and for a small amount of data, when you are talking about a huge chunk of data it may take several hours to process. So, try to code optimized code and make sure it can run efficiently for any given test cases. (You can write "Get the job done" kind of code and then optimize it)

2️⃣Writing easy to read code:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/c2qjbtls95e6a3b9hy7g.png)

The topic is pretty self-explanatory so I don't need to type more just let me clarify it with the following example:

➖➖➖➖➖➖➖➖➖➖➖➖➖➖
print('h', end="")
print('e', end="")
print('l', end="")
print('l', end="")
print('o', end="")
➖➖➖➖➖➖➖➖➖➖➖➖➖➖

➖➖➖➖➖➖➖➖➖➖➖➖➖➖
print('hello')
➖➖➖➖➖➖➖➖➖➖➖➖➖➖

Well, it's a small code and both outputs hello. But for the first code, you can't say what it will do at a glance. You can easily understand that the second code will print hello. 

So, at the end of the day, it is clear that writing efficient and easy to read code is more important than writing "Get the job done" kind to codes. Whether you are in a company or just writing personal projects, follow the rules and you will clearly see the benefits. If you can't hit the bullseye at a single trial than try to code to get the job done and then optimize it on the way.

*Happy coding for you*
Show Dev: Hacker news for books
Tags: showdev, sideprojects, startup
Published: 2020-03-02 14:20:37

This is the second MVP I've ever built:

https://booktalk.io/

I would appreciate any kind of feedback.

The idea came from disliking so much the good read pages of books that I absolutely adore. Maybe it had more to do with me being a different target than people using goodreads. That's the hypotesis behind Booktalk.


(Cover image by Ed Robertson via Unsplash)