teleren/devto huggingface dataset:
Turning Imposter Syndrome from Enemy to Ally
Tags: career, tips, watercooler, impostersyndrome
Published: 2020-08-13 15:34:58

---
title: Turning Imposter Syndrome from Enemy to Ally
published: true
description: Practical tips and advice to improve your self-esteem.
tags: career, tips, watercooler, impostersyndrome
---

***<center>See more untold developer stories at [cult by Honeypot](https://cult.honeypot.io/)</center>***

<center>* * * * *</center>

We know almost everyone suffers from imposter syndrome, no matter how you learned to code, or what stage of your career you’re in. I speak to a lot of developers – both self and traditionally taught, junior and senior – who believe they don’t belong where they are, and that they’re in way over their head. And it might never go away. I don’t know if it does for anybody.

One developer I know recently wrote about turning her imposter syndrome into an ally. It was a take on the concept I’d never heard before. You can [read the whole article here](https://cult.honeypot.io/reads/turning-imposter-syndrome-from-enemy-to-ally), but I've listed a few key suggestions she made:

## Realise that because you think you’re an imposter, you probably aren’t.

If you feel like an imposter, you probably really care about doing a good job! If you didn't care, you wouldn't feel bad about being where you're at.

## Find someone to be your mirror

Find someone you trust and who can see things objectively, and give you honest input on any given situation. 

## Change your internal dialogue

Take notice of negative self-talk. A method she suggests is the rubber-band method – [check out how it works](https://conquer.today/change-your-outlook-on-life-forever-with-7-days-and-a-rubber-band/) :)

## Try to find out what the imposter inside you is trying to tell you

Imposter syndrome is there for a reason; it’s ultimately a reaction to something, and you can figure out the root of it! You just have to know which questions to ask yourself.

Turning your imposter syndrome into an ally isn’t going to be easy, but the outcome will be way worth the investment. 

<center>* * * * *</center>

Full article was originally written by Mynah Marie, and you can find it (including some questions for the last point), [here](https://cult.honeypot.io/reads/turning-imposter-syndrome-from-enemy-to-ally). You can also visit her website: [Earth to Abigail](https://www.earthtoabigail.com/)
You should know these things before contributing to an open source project
Tags: opensource, javascript, react, frontend
Published: 2020-08-13 15:32:10

In this post, I'll be showing you things you should know before contributing to an open source project. I learnt these things and I'll be showing them to you on this short post. 

Before making a pr, there are things you should ensure that your changes meet, these things helps save time for everyone working on the project and helps avoid problems. They're:

### Adhere to the project's rule.

Many projects has rules that guides them, they maybe where to place media files, how to edit files like a JSON file containing data used by those projects. 

When contributing to such projects, try to go by those rules as they are often the foundations of the projects.

Any deviance from the rules will cause problems and your changes won't be merged until corrected. 

### Be descriptive with your commit messages.

After making an improvement to a project, try as much as possible to explain what you did in the commit message.

### Understand before writing. 

Try as much as possible to understand the project you're trying to improve before making a change.  

Understand the file structure and how the files depends on each other. 

If you don't understand the project you'll have a hard working on the project. 

That's it. Thanks reading through. I welcome your contribution.
Beginners guide to using array select method
Tags: beginners, ruby, webdev, tutorial
Published: 2020-08-13 15:22:35

---
title: Beginners guide to using array select method
published: true
description: 
tags: #beginners #ruby #webdev #tutorial
//cover_image: https://direct_url_to_image.jpg
---
Hello everyone,

This week, we will looking into an array method called `select` and how to use it.

The select method is one of the class method of the Array class that returns a new array of values that is true for the block that is passed to it.

Given an example array of numbers;

```ruby
example_array1 = [1, 2, 3, 4, 5, 6]
```

To select all even numbers;

```ruby
 example_array1.select { |item| item.even? }

# -> [2, 4, 6]
```

To select all odd numbers;

```ruby
 example_array1.select { |item| item.odd? }

# -> [1, 3, 5]
```

Given another example array of strings

```ruby
example_array2 = ['dog', 'chicken', 'cow', 'goat']
```

To select all string whose count is greater than or equal to 4;

```ruby
 example_array2.select { |item| item.length >= 4 }

# -> ["chicken", "goat"]
```

To select all string whose count is equal to 3;

```ruby
 example_array2.select { |item| item.length = 3 }

# -> ["dog", "cow"]
```

Given another example array of strings and numbers

```ruby
example_array3 = ['dog', 4, 'chicken', 8,  'cow', 10,  'goat']
```

To select all the strings in the array;

```ruby
 example_array3.select { |item| item.class == String }

# -> ["dog", "chicken", "cow", "goat"]
```

To select all the numbers in the array;

```ruby
 example_array3.select { |item| item.class == Integer }

# -> [4, 8, 10]
```

Please feel free to add other ways you have used the select method.

Until next week.
Constructors & Objects
Tags: javascript
Published: 2020-08-13 15:20:16

When creating objects, you can save a lot of time by using constructor functions. Constructor functions essentially act like a factory that can quickly create new objects. After initial setup, you'll only need to pass in different parameters into the function for each new object. 

A constructor function is like a regular old function, but with a few differences. 

- Capitalize constructor functions to distinguish it from a regular function
- Each parameter passed into a constructor function will serve as the value of a variable in the object. Since we're working with objects, that variable is a property of the object. 
- Use the keyword `new` when creating a new object with a constructor function

```
function Monster(age, color, snack, hobby) {
  this.age = age,
  this.color = color,
  this.snack = snack,
  this.hobby = hobby
};

const creepy = new Monster(1001, "blue", "rocks", "knitting");

const spooky = new Monster(500, "purple", "brains", "reading");
```

Above is the constructor function definition for Monster. It takes in four parameters, which are then used to assign values to the Monster object's properties. 

The monster creepy was used by calling the Monster constructor function with four arguments and the `new` keyword. The `this` keyword is used to refer to the property of the object being defined. The object is `this`. 

It is helpful to keep track of properties and parameters by assigning them the same name. It is not necessary, but it will avoid confusion when you're working with many properties. 

Lastly, we can use dot notation to refer to the value of an object's property.

```
creepy.age
//Output is 1001

creepy.color
//Output is "blue"

spooky.hobby
//Output is "reading"
```
Constructor functions will save you a lot of time in the long run when you have to create multiple objects with similar properties.
New Entry
Tags: javascript, php, laravel, vue
Published: 2020-08-13 15:16:42

Hello everyone,

i am from Lagos in Nigeria, currently sharpening my skill for in-dept understanding on javascript and php and using laravel and vue.js to develop side projects, i am looking to build easy and effective SAAS app and code snippets to help ease the operation of business, if you are into that as well reach out and lets collaborate. thanks
Type safe navigation for react-navigation v5
Tags: react, reactnative, reactnavigation, typescript
Published: 2020-08-13 15:16:35

---
title: Type safe navigation for react-navigation v5
published: true
description: 
tags: react,reactnative,reactnavigation,typescript
---

First, I show my type-definitions.

```
// Define screens. The key is a screen name. The value is a parameter passed to a navigation object.
export type Screens = {
}

// Define your navigators.
export type Navigators = {
}

type Navigatable<T> = T extends keyof Screens
  ? ScreenParams<T>
  : T extends keyof Navigators
  ? NavigatorParams<T>
  : never

type ScreenParams<T extends keyof Screens> = {
  screen: T
  params: Screens[T]
}

type NavigatorParams<T extends keyof Navigators> = {
  screen: T
  params: Navigators[T]
}

export type NavigationParams = Screens & Navigators

export type TypedNavigatorParams<T extends keyof Navigators> = Pick<
  NavigationParams,
  NavigationParams[T]['screen']
>

```
# Usage

Read my repository for detail.

https://github.com/ryohlan/typesafe-react-navigation-sample

if you are considering the following structure:

```
AppNavigator 
 - AuthNavigator
  - launch
  - signup
 - MainNavigator
  - MainTabNavigator
   - home
   - search
```

You can define the Screens and the Navigators the following:
```
// Define screens. The key is a screen name. The value is a parameter passed to a navigation object.
export type Screens = {
 launch: {}
 signup: { signupParam: string }
 home: {}
 search: { searchParam: number }
}

// Define your navigators.
export type Navigators = {
  AppNavigator: Navigatable<'AuthNavigator' | 'MainNavigator'>
  AuthNavigator: Navigatable<'launch'|'signup'>
  MainNavigator: Navigatable<'MainTabNavigator'>
  MainTabNavigator: Navigatable<'home'|'search>
}
```

A Navigator also can be checked:
```
import React from 'react'
import { createStackNavigator } from '@react-navigation/stack'
import { TypedNavigatorParams } from './NavigationParams'
import { LaunchScreen } from '../screens/LaunchScreen'

const { Screen, Navigator } = createStackNavigator<TypedNavigatorParams<'AuthNavigator'>>()

export const AuthNavigator = () => {
  return (
    <Navigator mode="card">
      <Screen {...LaunchScreen} />
    </Navigator>
  )
}

```

And create custom hooks for navigation.
```
import { useNavigation as useDefaultNavigation } from '@react-navigation/core'
import { StackNavigationProp } from '@react-navigation/stack'
import { NavigationParams } from '@src/components/navigators/NavigationParams'

export const useNavigation = () => useDefaultNavigation<StackNavigationProp<NavigationParams>>()

```

You can navigate type-safely using useNavigation!
```
const navigation = useNavigation()
navigation.navigate('AppNavigator', {
  screen: 'AuthNavigator',
  params: {
    screen: 'signup',
    params: { signupParam: '' }, // If
  },
})
```
Meet Ruby!
Tags: ruby, watercooler
Published: 2020-08-13 15:09:57

She's an 11 week old Golden Retriever!

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

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/64c0jllwcff1zzf7fi1f.jpg)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/m4k3cgr3zveisfnqay19.jpg)
Find the Duplicate Number
Tags: javascript
Published: 2020-08-13 15:09:28

I was given a challenge by a friend to find the duplicates in an array. 

For instance, a function when it receives an array - 

```
[1, 2, 3, 4, 5, 2, 2, 2]
```
 should return the duplicated number `2`

He challenged me to write the code without using more than 1 loop. 

My first try 

```
const findDuplicate = nums => {

    const uniqueSet = []
    let duplicate = null
    nums.map(x => {
        if(uniqueSet.includes(x)){
           duplicate = x 
        }
        uniqueSet.push(x)
    })
    return duplicate
}
```

so, `findDuplicate([1, 2, 3, 4, 5, 2, 2, 2])` returns `2`

He was not satisfied but wanted to try differently rather than looping it through. 

After hours of breaking my head, I came up with this - 

```
const findDuplicate = nums => {

    const uniqueSet = new Set(nums)
    const arrSum = nums.reduce((a, b) => a + b)
    
    let uniqueArray = Array.from(uniqueSet)
    const uniqueSetSum = uniqueArray.reduce((a, b) => a + b)
    const duplicate = Math.abs(arrSum - uniqueSetSum) / (nums.length - uniqueArray.length)
    
    return duplicate
}
```

He did not understand what is going on at the first look. After a while, he understood the code. 

Which one do you prefer? Simpler code or Complex code? Or is there any other way you would solve this? 

Share your thoughts. Thanks.
OAuth 2 Spec is misunderstood, why?
Tags: discuss, oauth, authorization
Published: 2020-08-13 15:09:07

I'm writing a course on OAuth2 and OIDC. But I'm a bit sorry to see that when I search the web, most of the articles mislead users about OAuth. In most of them, they deal with OAuth as a way to authenticate. That is not correct, it is a misuse of this framework or standard. OAuth is short for *open authorization*.

Let's get the definition from the body authority, [Internet Engineering Task Force](https://tools.ietf.org/html/rfc6749) (IETF):

>  enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service or by allowing the third-party application to obtain access on its own behalf. 

That's said, OAuth deals with *delegated authorization* nothing to have with authentification which consists of verifying if the user is what they claim they are.

I found a good post here on DEV that tries to explain well.

{% link kimmaida/authorization-and-authentication-for-everyone-27j3 %}

And you, did you also notice the misuse of OAuth? Share with us.
How to publish a post pulled in via RSS feed
Tags: rss, devto
Published: 2020-08-13 14:25:12

I like what dev.to is doing and want to move my content over here. This post on [Publishing RSS feed to dev.to](https://www.jonathanyeong.com/blog-posts/publishing-rss-feed-to-dev-to/) helped me get going. However, after the posts were imported and showed up, I couldn't at first find out how to _actually publish_ them:

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

Clicking on the article just gives you a chance to edit it, but there is no button to <kbd>Publish</kbd> as when you create a new post on dev.to.

The solution is easy once you know it :)

Click on <kbd>Draft</kbd> to enter the edit screen. It will show you something like this at the top of your text:

```text
---
title: All you need for working with Python 3 on a Mac
published: false
date: 2018-09-08 18:50:16 UTC
tags: beginnercoding,setup,beginnersguide,python
canonical_url: https://medium.com/@martin.breuss/all-you-need-for-working-with-python-3-on-a-mac-c811ac094869
---
```

To publish, all you need to do is change:
`published: false` to `published: true`

Save, and your syndicated post is live on dev.to :)
SaaS Boilerplate Book
Tags: showdev, learning, webdev, typescript
Published: 2020-08-13 14:50:47

---
title: SaaS Boilerplate Book
published: true
description: Learn how to build a production-ready, feature-rich SaaS web application from scratch.
tags: #showdev #learning #webdev #typescript
//cover_image: ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/j0refb04bstsewlxz8zf.png)
---
Based on our popular open source Github repo (https://github.com/async-labs/saas), we wrote a book that teaches you to build a production-ready, feature-rich SaaS web application from scratch.

We've put a lot of work into the book and are happy to hear any feedback.

We wanted to let the dev.to community know that the book is available to pre-order at 50% off by Sunday, August 16th while we finish writing the last chapter. https://builderbook.org/books/saas-boilerplate/introduction-project-structure

Thanks, and happy learning.

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

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

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

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6qp0n0qxxy4gwis34wb0.png)
#DaListApp
Published: 2020-08-13 14:41:40

‪UPDATE : Today I’m touching on the #Database aspects of #DaListApp then moving on to #DaDm👀 App . Still working on the name . I would really like it to be #Da👀 App 😂😂‬
‪#java #Kotlin #AndroidDev #BlackTechTwitter #SoftwareEngineer ‬

Here’s the link :)
https://github.com/coreyprevost/DaListJava2
The button does not work #345
Published: 2020-08-13 14:40:31

> ###### This is a little fictional story. It's based on some experience I've had recently.


### [1] Monday 9:00 
`[org/project] If I open the browser, it makes the payment again.`
> _Yeah, that's all I'm giving you_

My reaction: 🧐 > 😳 > 😱 > 😑

**- I respond:** _"Could you please add more information or explain what steps you did to encounter such an issue?"_

**- They reply with:** _Oh yeah, super sorry actually. I will be explaining stuff better in the future._


### [2] Thursday 10:00 (_the future_)
`[org/project] Button is not working.`
> _Yeah, so that button is not working, can you fix it?_

My reaction: 🧐 > 😳 > 😱 > 😑

**- I respond:** _"What button are we talking here? Is it the button or the button button?"_

**- They reply with:** _No the link at the bottom of the page, it's obvious. Just fix it._

**- Me:** 😑

### [3] Friday 12:00

**- I reply to the issue above:** _Fixed, the link is already working. Closing this._

**- 2 seconds later they reply:** _Oh no, I meant the link in this other page no one uses, we need it in 5 minutes..._

**- Me:** 😑 > 🤬

### [4] Saturday 16:00 

**- Me:** 🤬 Fuck them, fuck them fuck them very much!

### [5] Sunday 20:00 
**- Me:** 🤬 Fuck them, fuck them fuck them very much!

GOTO [1]


****

This is just intended as a little bit of a joke, but bad issue descriptions are a pain in the arse and there should be legal actions against them. No, seriously. 

****

#### Now it's your turn.

What are the worst issues you have seen or have been assigned to?

****

#### References:
* Cover image from [shutterstock](http://www.shutterstock.com/video/clip-5380469-stock-footage-desperate-young-man-thinking-about-his-life-on-white-background.html)
Creating a chat with Feathers + React
Tags: webdev, showdev, react, career
Published: 2020-08-13 14:28:57

Hi everyone! First post here. It's pretty intimidating ;).

Considering becoming a developer while I have absolutely no education in that domain, I started to work on some projects to have something to showcase. 

Actually working as a guitar teacher ( I am not sure that helps on a CV :D ), I am quite new in this "community" even if I start to program some time ago. 
Lately, I found the website ( http://devchallenges.io ) made by @nghiemthu and I decided to tackle the "Chat group challenge" to learn feathers with Mongoose, after thinking of using Firestore. I am also more used to Vue, so I decided to go for React ;). 

I struggled a little bit to understand the feathers documentation for some parts but I eventually get the project "done".

If you are interested, you can test the project here: https://tchat-challenge.vercel.app/

The source code is here : 
- Frontend: https://github.com/ips-coding-challenge/tchat_challenge_frontend
- Backend: https://github.com/ips-coding-challenge/tchat_challenge_backend

It is far from perfect but I used those projects to learn new things ;). I usually use Laravel + Vue for my projects with Mysql database. 

If you want me to explain some parts, or if you have any questions, feel free to ask. Maybe I'll write another post to discuss the problems encountered by doing this "little" project.

I don't know if I have the requirements to be a junior developer right now, but if you have any advice, I am completely open ;).

Ciao ;)
🔥 How to Upload File in Rest Assured(with Download)?
Tags: testing, tutorial, beginners, webdev
Published: 2020-08-13 14:23:10

In this video, We are going to learn How to upload a file in rest assured and download file in rest assured. 

Rest Assured upload file is easy and can be achieved with the multipart inbuilt methods.

{% youtube _NRgpI48ogQ %}

✅   Quick Code - 
.multiPart("file", new File(TestUtil.getFileURI("/examples/help.html")), "text/html")
https://stackoverflow.com/questions/39482473/how-to-use-rest-assured-to-upload-a-file

We will assume that a post method "https://the-internet.herokuapp.com/upload" uploads an image for a user. Lets take a look at the below example on how to upload the image file using POST call.

We will use the function that takes 3 parameters.
- The key that identifies the file.
- File object.
- Content type.

We Use POST request to  perform this operation.

✅  Source Code.
- https://scrolltest.com/ra/download-file
- https://scrolltest.com/ra/upload-file

✅ What is REST Assured?
REST Assured is a Java library that provides a domain-specific language (DSL) for writing powerful, maintainable tests for RESTful APIs. ... I'll be using real-world code examples you can copy, run, and reuse directly in your own test automation effort

🌍 Test Automation -
https://bit.ly/learnautomation2020

💌 API Testing -
https://www.learnapitesting.com

🎙 Cypress Tutorial with LIVE Projects -
https://cypresstutorial.com

📝 REST API testing with Python -
https://masterapitesting.com
cdk.dev - Call for Contributors
Tags: cdk, cdk8s, cdktf, awscdk
Published: 2020-08-13 14:03:32

[Matthew Bonig](https://twitter.com/mattbonig) ([Open Construct Foundation](https://openconstructfoundation.org/)), [Mike Bild](https://twitter.com/mikebild) and [I](https://twitter.com/skorfmann) are joining forces to build out [cdk.dev](https://cdk.dev) as a content hub around the emerging Cloud Development Kit (CDK) ecosystem. With AWS CDK, cdk8s and Terraform CDK the CDK family has now three members, and I'm sure it'll continue to grow. Not only in regards to core products, but ancillary products, tools and services as well. 

### Our Mission

We set out to aggregate content and events, provide a home for little tools and last but not least, become a hub for ideas and questions around the CDK ecosystem.

Our short term goals include:

- Build a simple content aggregator for blog posts, tweets and events
- Build a dedicated section for educational content 
- Build a project show case listing for inspiration

While we think our mission is aligned with the goals of AWS ([AWS-CDK](https://aws.amazon.com/cdk/) / [cdk8s](https://cdk8s.io/)) and HashiCorp ([cdktf](https://cdk.tf)), this project is not affiliated with those companies. It's a private effort coming from us and whoever joins along the way.

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

### Current State

We created a new [Github Organization](https://github.com/cdk-dev) with one [dedicated repository](https://github.com/cdk-dev/base) for organizing ourselves. A simple [landing page](https://github.com/cdk-dev/website) was setup and [is live](https://cdk.dev/) already. 

Other than that, I opened up my private [Slack channel](https://cdk-dev.slack.com/) - which I used as a feedback channel for early adaptors of [Terraform CDK](https://cdk.tf). Feel free to [grab an invite](https://join.slack.com/t/cdk-dev/shared_invite/zt-gff3dtkw-MsEPa5Id1Aey8HQUDEck1Q) and join. The Slack chat can be used for ad-hoc discussions, whereas more thorough and detailed planning will happen in the Github repository.

{% github cdk-dev/base %}

### Join Us

We're committing to build and steer this project in public and would love to get more people involved early on. If you're keen on joining us, [grab a Slack invite](https://join.slack.com/t/cdk-dev/shared_invite/zt-gff3dtkw-MsEPa5Id1Aey8HQUDEck1Q) and get in touch :)

[![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ognfk85h8vkk11x22m2g.png)](https://join.slack.com/t/cdk-dev/shared_invite/zt-gff3dtkw-MsEPa5Id1Aey8HQUDEck1Q)