teleren/devto huggingface dataset:
🔥 Rest Assured Tutorial | Day 1 |  Client Server Architecture Explained (API Testing Basics)
Tags: testing, tutorial, beginners, webdev
Published: 2020-07-20 16:17:32

Hey BugHunters, In this video, We are going Start our Day 1 for the Rest Assured Tutorial journey.

This is Day 1 of the 30 days of API Testing challenge Series. Where will learn the Basics before jumping to API Automation.

[![ Rest Assured Tutorial](https://i.imgur.com/C3xd03t.png
)](https://youtu.be/YPNqLoe_vGg "Rest Assured Tutorial")

✅ What is Client Server Architecture ?

In Computer science, client-server is a software architecture model consisting of two parts, client systems and server systems, both communicating over a computer network or on the same computer.

When both the client process and server process are running on the same computer, this is called a single seat setup.

Read more - [https://en.wikipedia.org/wiki/Client–server_model](https://en.wikipedia.org/wiki/Client%E2%80%93server_model)


🚀 All 30 Days Task - https://scrolltest.com/30days/restassured
📌 Join 30 Days Challenge Updates - https://scrolltest.com/tta
🎓 Free Automation MasterClass - https://thetestingacademy.com
📚 REST API testing with Python - https://masterapitesting.com


--
Be sure to subscribe for more videos like this!

[![ TheTestingAcademy](https://dev-to-uploads.s3.amazonaws.com/i/r7vcy6wbvyjbk1y1uu0o.png
)](https://www.youtube.com/TheTestingAcademy?sub_confirmation=1 "TheTestingAcademy")
Best Prototyping Tools For UI/UX Designers! 👨‍💻👩‍💻
Tags: ux, webdev, frontend
Published: 2020-07-20 16:16:41

Discover the best prototyping tools to upgrade your workflow and give your prototypes an edge.

Prototyping tools are the tools to help you make product creation faster and much more effective. Prototypes demonstrate your ideas, and in doing so can change the way you design.

### **[1.SKETCH](https://www.sketch.com/)**

![Sketch](https://dev-to-uploads.s3.amazonaws.com/i/yxi46a1oca33bqauul8c.png)

Sketch is a vector-based design tool which helps you design interfaces quickly and intuitively.

*This is Only for Mac users*

### **[2.FRAMER](https://www.framer.com/)**

![Framer](https://dev-to-uploads.s3.amazonaws.com/i/b1jqa0rpp0iyyn7xoudq.PNG)

Includes Pricing.(Per Month)

| Free | Starter | Pro  | Enterprise |
|------|---------|------|------------|
| 0₹   |  499₹   | 832₹ |  Custom    |

### **[3.FIGMA](https://www.figma.com/)**

![Figma](https://dev-to-uploads.s3.amazonaws.com/i/2vp3nm7n8krlld6m9j70.PNG)

Includes Pricing.(Per Editor/Month)

| Starter | Professional  | Organization |
|---------|------|------------|
|  Free   | $12 |  $45    |

### **[4.ORIGAMI STUDIO](https://origami.design/)**

![Origami](https://dev-to-uploads.s3.amazonaws.com/i/eb3xbheg3kktxrv0f5s8.PNG)

### **[5.InVision](https://www.invisionapp.com/)**

![Invision](https://dev-to-uploads.s3.amazonaws.com/i/13fn73xc8fv3mibbzsmj.PNG)

### **[6.Proto.io](https://proto.io/)**

![Proto.io](https://dev-to-uploads.s3.amazonaws.com/i/crfxcz97ngfesr4h4l26.PNG)

Includes Pricing.

| FreeLancer | Startup | Agency  | Corporate| Enterprise |
|------|---------|------|------------|-----|------------|
| $24/mo  |  $40/mo   | $80/mo |  $160/mo    | ** |

### **[7.Marvel](https://marvelapp.com/)**

![Marvel](https://dev-to-uploads.s3.amazonaws.com/i/b4neit5mwwi1dsa3i5z8.PNG)

Includes Pricing.

| Free | Pro | Team | TeamPlus |
|------|---------|------|------------|
| $0/mo  |  $12/mo   | $42/mo |  $84/mo |
The Past, Present, And Future Of The FLUFL: Barry Warsaw Shares His History With Python
Published: 2020-07-20 16:13:58

<p>Barry Warsaw has been a member of the Python community since the very beginning. His contributions to the growth of the language and its ecosystem are innumerable and diverse, earning him the title of Friendly Language Uncle For Life. In this episode he reminisces on his experiences as a core developer, a member of the Python Steering Committee, and his roles at Canonical and LinkedIn supporting the use of Python at those companies. In order to know where you are going it is always important to understand where you have been and this was a great conversation to get a sense of the history of how Python has gotten to where it is today.</p><p><a href='https://www.pythonpodcast.com/barry-warsaw-the-flufl-episode-271/'>Listen Now!</a></p>
Open Source Production Grade Data Integration With Meltano - Episode 141
Published: 2020-07-20 16:12:25

<p>The first stage of every data pipeline is extracting the information from source systems. There are a number of platforms for managing data integration, but there is a notable lack of a robust and easy to use open source option. The Meltano project is aiming to provide a solution to that situation. In this episode, project lead Douwe Maan shares the history of how Meltano got started, the motivation for the recent shift in focus, and how it is implemented. The Singer ecosystem has laid the groundwork for a great option to empower teams of all sizes to unlock the value of their Data and Meltano is building the reamining structure to make it a fully featured contender for proprietary systems.</p><p><a href='https://www.dataengineeringpodcast.com/meltano-data-integration-episode-141/'>Listen Now!</a></p>
TIL - How to Track Memory usage on AWS Elastic Beanstalk
Tags: todayilearned, aws, rails, webdev
Published: 2020-07-20 16:02:56

## The Problem

For the past 2+ years, I have had a Ruby on Rails application running in production without much issue (other then bugs I introduce on occasion). But one day recently, I started to see significant performance issues with Postgres & Redis timeouts and connection issues.
This is my first time seeing issues like these at such a large scale, and it left me scrambling to try all sorts of solutions to get things to work. In the end, any code tweak I made didn't work, and the issue kept coming back.

## Shot in the Dark Solution

This left me scratching my head because all the EC2 metrics I can see on CloudWatch seemed perfectly fine. I had good CPU usage, storage isn't an issue, and network throughput is just fine. Since I didn't have any clue what was going on, that last thing I could do was just scale my application up and add another server, so I did.

To my expectation, an additional server did the trick. After all, throwing another server at the issue is the cliche thing to do to solve the problem. So it left me wondering, why? 

After giving it some little thought, the only metric for some annoying reason you can't see on CloudWatch is memory! I think that's pretty important... So I set off on a quest to find out how to add memory tracking!

## How To Track memory

Luckily my quest to find out how to track memory was a short one. After searching how to track memory usage for Elastic Beanstalk and came across the following article, [How can I monitor memory in Elastic Beanstalk for Amazon Linux AMIs running on Amazon EC2 instances?](https://aws.amazon.com/premiumsupport/knowledge-center/elastic-beanstalk-memory-monitoring/)

All I had to do was create a new file and add it to my `ebextensions` folder and deploy it. Once deployed, you should see a new option for metrics on CloudWatch under metrics called "System/Linux."

![New CloudWatch metric option](https://dev-to-uploads.s3.amazonaws.com/i/7gxvmuvy6u2ir8e674ld.png)

From there, you can track memory metrics for each instance you have running. You can then create a custom dashboard, and if your feeling frisky, set up alerts.

![Memory usage graph](https://dev-to-uploads.s3.amazonaws.com/i/rycywpyi1xmdm8nrev7t.png)

## Looking Back

After taking a look at the memory usage with 3 servers now running, it a lot more obvious to me that was the root cause of my issues. From now on I am going to make it a point to track memory usage on any future applications so I can get ahead of this issue.
tsParticles - upcoming features help wanted
Tags: news, contributorswanted, showdev, github
Published: 2020-07-20 16:00:00

Do you want to contribute to an Open Source Project? tsParticles needs your help.

Checkout this new requested features:

{% github https://github.com/matteobruni/tsparticles/issues/605 %}

{% github https://github.com/matteobruni/tsparticles/issues/606 %}

{% github https://github.com/matteobruni/tsparticles/issues/607 %}

{% github https://github.com/matteobruni/tsparticles/issues/608 %}
Opportunity: Learn Mobile Application Development
Tags: webdev, career
Published: 2020-07-20 15:57:15

>Invest in yourself — At no risk!

Mobile devices are all around us and they pack in more computing power than some computers offered just a few years ago. Mobile Devices with great computing power, are a great combination for Developers since our apps can be made to do amazing things for more users than ever before.

> [Chingu](https://chingu.io) and [Flutter Explained](https://youtube.com/c/flutterexplained) have partnered to create a _free_, month-long cohort focused on mobile app development!

Starting on August 10 through September 4, 2020 you can participate with other motivated Developers to complete a Solo Project using Dart & Flutter.

This opportunity will allow you to:

- **_Learn_** more about Dart & Flutter
- **_Meet_** motivated Developers with similar interests
- **_Complete a project_** using specifications provided by us at your skill level. One you can add to your portfolio!
- **_Participate_** in a supportive, online community that is run by Developers for Developers
- And most importantly, **_have fun_** doing it!

[Signup now](https://chingu.io/signUp/explore) to reserve your place so you can improve your knowledge, meet your career goals, and get out of “Tutorial Purgatory”!

![Man signing up](https://dev-to-uploads.s3.amazonaws.com/i/m1m6f2wxigmhvna5tjjz.jpeg)

You can learn more about our organizations here:

- Chingu at https://chingu.io
- Flutter Explained: https://youtube.com/c/flutterexplained
Creating An Announcement Discord Bot 
Tags: javascript, tutorial, bot, discord
Published: 2020-07-20 15:55:11

A tutorial on creating a simple discord bots for announcements.

## How it will work
Our bot will work in the following steps:
1. Take announcement command e.g. `!announce <announcement here>`
2. Check if user has announcer role
3. Post announcement through Discord webhook

## Setting up
First, enter a blank folder an set it up with `npm init`. Then, install `discord.js` with `npm i discord.js --save`. Then, head towards the [Discord Developer Portal](https://discord.com/developers/applications) and create a new application. You can name it whatever you want, but you should probably name it something like Announcement Bot. Then, open the bot page and click create a bot. Inside your development folder create a file named `config.json`, and in it write this:
```json
{
  "token":"put your discord token here",
  "announcer-role": "announcer role Id",
  "webhookToken": "webhook token",
  "webhookID": "webhook ID"
}
```
Fill in the Discord bot token in the `token` field.
You can invite your bot to a test server with the link: [https://discord.com/oauth2/authorize?client_id=APPID&scope=bot](https://discord.com/oauth2/authorize?client_id=123456789012345678&scope=bot
), but fill in the `APPID` with the ID of your Discord application.
In your server, create a role called `Announcer` and copy the role ID. You can get the ID if you turn on developer mode in the Appearance section of Discord's settings. Fill in the `announcer-role` field of `config.json`. Also, create a channel for announcements and create a webhook for that channel. Fill in the webhook fields accordingly.

Now lets get started with the programming!

## Coding the bot
Create a file named `index.js` and fill in the following code:
```javascript
const Discord = require("discord.js");
const config = require("./config.json");

const client = new Discord.Client();
const webhookClient = new Discord.WebhookClient(config.webhookID, config.webhookToken);

client.once("ready", () => {
  console.log("Ready for action!");
});

client.on("message", (message) => {
  if (!message.member.roles.cache.has(config["announcer-role"]) || !message.content.startsWith("!") || message.author.bot) return;

  const args = message.content.slice(1).trim().split(' ');
  const command = args.shift().toLowerCase();

  if (command == "announce") {
    var announcement = "";
    for (const word in args) {
      announcement = announcement + args[word] + " ";
    }
    webhookClient.send(announcement)
  }
})

client.login(config.token);
```

## Next Steps
So you have done it! You have successfully made a Discord announcement bot!

A couple things you could do:
* This bot is built to work with only one server. Try customizing it so it could work on multiple servers
* Allow customization of prefix in the `config.json` file
* Currently, the bot is just repeating whatever someone says with the command, which isn't that useful. Try getting it to send announcements in a better format

The source code for this tutorial is uploaded on [Github](https://github.com/shadowtime2000/discord-announcement-bot)
Types of Optimization Algorithms and which one to use?
Tags: computerscience, machinelearning, algorithms, optimization
Published: 2020-07-20 15:52:32

##Have you ever wondered which optimization algorithm to use for your Neural network Model to produce slightly better and faster results by updating the Model parameters such as Weights and Bias values?

##Should we use Gradient Descent or Stochastic gradient Descent or Adam?

###There are some courses on [Building chatbots in Python](https://www.datacamp.com/courses/building-chatbots-in-python?tap_a=5644-dce66f&tap_s=841152-474aa) and [NLP fundamentals in Python using NLTK](https://www.datacamp.com/courses/natural-language-processing-fundamentals-in-python?tap_a=5644-dce66f&tap_s=841152-474aa4) which I would also recommend for people interested more in learning AI and deep learning. So go give it a try on the basis of your interest.


##Also, this article will help you out in understanding the differences between various Optimization algorithms and which one to use in which scenario.

[Types of Optimization Algorithms and which one to use?](https://modularml.blogspot.com/2020/05/have-you-ever-wondered-which.html)

Follow me on [LinkedIn: Mrinal Walia](https://www.linkedin.com/in/mrinal-walia-b0981b158/)
Follow me on [Github: abhiwalia15](https://github.com/abhiwalia15)
Developer for 20 years, AMA!
Tags: ama, career, discuss, programming
Published: 2020-07-20 15:34:44

My name is Doug and I've had a twenty-year software development career!  I've worked in the finance, B2B consulting, e-commerce, manufacturing/distribution, and services industries. 
 I've worked in nearly all aspects of a software development lifecycle - ask me anything!

Some background about me:

* I'm a software engineer.
  I've done development for handhelds, desktop, server, mobile, web, cloud, and mainframe development.
  Ask me anything about programming!
* I'm a leader.
  I've been a team lead (for a team of engineers) and a manager (over several teams of engineers).
  Ask me anything about hiring/firing or leadership.
* I'm an innovator.
  Ask me about product development and ownership.
* I've been a product owner - ask me about prioritization or feature development.
* I've been a teacher of software engineers - ask me about education, instructional design, or learning.
* I'm currently a software architect - ask me about architecture or decision-making.

Ask me anything!

*Photo by [Brett Jordan](https://unsplash.com/@brett_jordan) on [Unsplash](https://unsplash.com/s/photos/ask).*
CDK Patterns at 20! Let's Walk Through all 20 Serverless Patterns for AWS
Tags: aws, awscdk, serverless, tutorial
Published: 2020-07-20 15:28:54

This is a link to the original post under my nideveloper account but I cannot move it yet because multiple sources still actively deep link to that post. I will swap over the content in a couple of weeks but I want visitors to cdkpatterns to find the article:


{% link https://dev.to/nideveloper/cdk-patterns-at-20-let-s-walk-through-all-20-serverless-patterns-for-aws-d1n %}
I made a cli on Golang
Tags: go, cli, beginners, showdev
Published: 2020-07-20 15:23:41

---
title: I made a cli on Golang
published: true
description: 
tags: go,cli,beginner,showdev
cover_image: https://uilicious.com/blog/content/images/2019/08/53pghgra05e674dgnkqq.png
---

So I recently started coding on golang. Though the learning was not hard as I was pretty familiar with programming concepts, I thought why not put the new found knowledge in use. So I made a cli app called [projecto](https://github.com/rubiin/projecto), a CLI which lets you add projects to favorites using command pm add and open them from anywhere you want using command `projecto --open`.Its actually a work in progress so I am open to suggestion. Also, I have tried to use the native packages as much as possible (except the TUI). Let me know what you think and star if you like :) . 
Inspired from [Projectman](https://github.com/saurabhdaware/projectman)
My 100 Days Of Code Journey
Tags: 100daysofcode, learning
Published: 2020-07-20 14:59:24

# Round 1 Complete! 🔥 🔥 

I've just completed my 100 Days of Code challenge and wanted to  share my experience and how it helped me 💪

I'd like to also give my thanks for the support from the dev community on Twitter where I posted! 🙏

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/rk9g8nxrmpkzsr9zdtwl.gif)

## What is the 100 Days of Code Challenge ❓

Essentially, the 100 Days of Code challenge is a challenge where you code for a minimum of an hour a day for 100 days and record your progress by posting on Twitter. 

You can find more information about it [here](https://www.100daysofcode.com/) if you'd like to try it!

## My Thoughts 💭 

To start, I can say confidently that for me this worked pretty well! I started this because I wanted to be more motivated to write code consistently and this stood out as a great challenge to help me with that. At this point, I'd already seen people posting some really amazing work and progress on Twitter 😍 

Over time, I began to code more often even if only for an hour a day and I did a lot more projects than I would have. For example, I finally got around to learning and completing a few different CSS Illustrations during these 100 days

Here are some examples: 

![Pacman](https://dev-to-uploads.s3.amazonaws.com/i/4o603nycxxas4r6ock84.gif)
![Nintendo Switch](https://dev-to-uploads.s3.amazonaws.com/i/fr6826lrv7gpamnie9fy.gif)

Throughout the 100 days, I've learned new things and have also been able to brush up on some core coding skills. I could feel my heightened motivation to code in order to complete and stay disciplined to the challenge. All the support from everyone was really amazing! Such an awesome community that I've been able to connect with even more due to this challenge 🙌

A quick note, my work would range from projects, tutorials, just reading for the day, or no work at all. I don't believe we have to code every day as we all need rest days for our mental health 😴 

## So...where to now? 

This is a challenge I'd highly recommend for everyone to try! I really enjoyed doing this and learned a lot during these 100 days so now off to start Round 2! 😁
Day 18 of #100DaysOfCode
Tags: 100daysofcode
Published: 2020-07-20 14:53:25

Today's Progress: Added custom color theme and custom text theme for my shrine.

Link to work: https://github.com/Kyawkhaing444/Shrine-Flutter-App

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xaozqywix8pnusc84u5i.gif)
What's new in Python 3.9
Tags: python, coding, programming
Published: 2020-07-20 14:46:56

A new version of Python is coming! Soon, we'll be using it in our python projects. As of 20/07/2020 Python 3.9 is in beta version(3.9.0b4) and will release the full version of Python 3.9 pretty soon.

Enough of introduction. Let's get started and learn about the new features.

# New features in Python 3.9

## Dictionary merge and update operators
Python 3.9 introduces merge(|) and update(|=) operators in the dict class. If you have two dictionaries a and b, you can now use these operators to do merge and update them.
```
a = {1: "Sam", 2: "Alex"}
b = {3: "Daniel", 4: "Tom", 5: "Jimmy"}
```

You can use | to merge these both dictionaries.

```
c = a|b
print(c)

**[Output]**: {1: "Sam", 2: "Alex", 3: "Daniel", 4: "Tom", 5: "Jimmy"}
```

If both the dictionaries have a common key, then the output will display the second key-value pair.

```
a = {1: "Sam", 2: "Alex", 3: "James"}
b = {3: "Daniel", 4: "Tom", 5: "Jimmy"}

c = a|b
print(c)

**[Output]**: {1: "Sam", 2: "Alex", 3: "Daniel", 4: "Tom", 5: "Jimmy"}
```

For updating the dictionary, you can use the following operator.

```
a = {1: "Sam", 2: "Alex"}
b = {2: "Daniel"}
a|=b
print(a)

**[Output]: {1: "Sam", 2: "Daniel"}**
```
## removeprefix() and removesuffix() string methods
In Python’s str class, the new update introduces new `removeprefix()` and `removesuffix()` methods.

You can remove the prefix from any string using the `removeprefix()` method.

```
'HelloWorld'.removeprefix('Hello')
**[Ouput]: 'World' **
```

If the string doesn’t start with the input prefix, the copy of the original string will be returned.

```
'BaseTestCase'.removeprefix('Test')
**[Ouput]: 'BaseTestCase' **
```

If the string ends with input suffix, the output will look like `string[:-len(suffix)]`.

```
'MiscTests'.removesuffix('Tests')
'Misc'
```

If the input suffix is empty or the string doesn’t end with it, the output will be a copy of the original string.

```
'BadTestCase'.removesuffix('Tmp')
'BadTestCase'
```


# New parser
Python 3.9 uses a new parser which is a PEG-based parser. Previously, Python used LL(1). PEG is more flexible than LL(1) when it comes to building new features in the language. The official documentation says that this flexibility will be seen in Python 3.10 and later.

# Type hinting
Python dynamically specifies datatypes to a variable. For static allocation of data types, type hinting is used. This was introduced in Python 3.5.
You can now use built-in collection types (`list` and `dict` ) as generic types. Earlier, you had to import the capital types (`List` or `Dict`) from `typing`.

```
def greet_all(names: list[str]) -> None:
    for name in names:
        print("Hello", name)
```
Now there is no need to call `List` from `typing.List`.