teleren/devto huggingface dataset:
two Game Changing new Features in TypeScript 4.1
Tags: javascript, typescript
Published: 2020-10-20 11:02:37

---
title: two Game Changing new Features in TypeScript 4.1
published: true
description: Typescript 4.1 has the potential to change how we implement libraries.  
tags: 
  - javascript 
  - typescript
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/jy9rvshmye7sxnmk25im.jpg
canonical_url: http://tnickel.de/2020/10/20/2020-10-two-gamechanging-features-in-typescript-4-1/
---
Today after vs-code made an automatic update, I stambled over the announcement for the new features in typescript 4.1.

And it absolutely blew my mind. There was the feature, I have been looking for, for almost four years.

I often read over these feature announcements. But this time,... WOW.

In version 4.0 `variardic tuples` got added. They have been a huge step, allowing to define functions with variable argument lists. 

In version 4.1 (wow) there are two features, that together are absolutely powerful, and I wonder if people understand its significance. 

- [Template Literal Types](https://devblogs.microsoft.com/typescript/announcing-typescript-4-1-beta/#template-literal-types)
This allows to write some logic to determine what values a type can have.
```ts
type Color = "red" | "blue";
type Quantity = "one" | "two";

type SeussFish = `${Quantity | Color} fish`;
// same as
//   type SeussFish = "one fish" | "two fish"
//                  | "red fish" | "blue fish";
```

  - [Key Remapping in Mapped Types](https://devblogs.microsoft.com/typescript/announcing-typescript-4-1-beta/#key-remapping-mapped-types)

```ts
type Getters<T> = { 
  [K in keyof T as `get${capitalize K}`]: () => T[K]
}; 

interface Person { 
   name: string; 
   age: number; 
   location: string; 
} 

type LazyPerson = Getters<Person>;
```
There it is, mapping keys and renaming them with a little computation. This is so huge for developers of ORMs. Otherwise, today, some ORM require to basically define a schema twice, once for the data structure in the database and a second time for typescript. With this new feature a single definition can be enough.

Also validation libraries such as Joi, json-schema, superstruct, can get huge profit from this feature.

and then API frameworks, that have schema definition such as hapi, fastify, graphql, grpc can gain much better type intellisence for autocompletion with these new features.

The benefits do not end in node.js backend. Also in client side, redux, react-hooks and other libraries, that generate APIs based on a js based typedefinition or value, will be able to provide awesome typescript user experience, without requiering microsoft to actively support the framework, as it happens with react, angular and vue. (still thank for all the effort making development experiences with these framewors great)

Wow, are you also that excited about these updates? I believe they are game changing and and will improve our development experiences not only with typescript, but in the javascript ecosystem in a whole.

ps: The code samples are directly from the typescript blog, follow a link in this article to find more examples.
Go Formatter
Tags: go, productivity
Published: 2020-10-20 10:53:14

Tired of using boring #Go `fmt` package?

Try the latest [Go Formatter](https://gitlab.com/tymonx/go-formatter) package today. It implements **replacement fields** surrounded by curly braces `{}` format strings similar to Python string format.

Features:
* Implements **replacement fields** surrounded by curly braces `{}` format strings
* Format string by providing arguments without using placeholders or format verbs `%`
* Format string using automatic placeholder `{p}`
* Format string using positional placeholders `{pN}`
* Format string using named placeholders `{name}`
* Format string using object placeholders `{.Field}`, `{p.Field}` and `{pN.Field}` where `Field` is an exported `struct` field or method
* Use custom placeholder string. Default is `p`
* Use custom replacement delimiters. Default are `{` and `}`
* Use custom replacement functions with transformation using pipeline `|`
* Under the hood it uses the standard [text/template](https://golang.org/pkg/text/template/) package
GrowGreen
Tags: hacktoberfest2020
Published: 2020-10-20 10:42:04

## What I Learned From Hacktoberfest

> **HacktoberFest** is all about spreading the love for open source software, and my contributions this month demonstrated a significant commitment to our cause - `An Eco WebApp`.


I get to **be an inspiration** to someone who can leave their mark, or introduce a complete beginner to the world of open-source.

HacktoberFest2020 is concerned about saving the environment and so is me. I contributed to an Eco WebApp, "GrowGreen" under Developer Student Clubs, IGDTUW.

- I learned team spirit.
- I assimilated ways to find unique solutions to common problems like global warming.
- I got connected to the theme and get to know many points of view. After knowing a project idea and workflow, the urge to continue working on this project increases.
- It is my first time working on a backend project. I used React.js and many frameworks are still left to be used. 
- I wish this project become a huge success.
- May it reaches people all around the world and together we make this world a better place.

### Project I worked on:
- *Grow Green* that allows contributors worldwide to create awareness about the environment and do their bit by contributing.
- People can post, view, earn & become a part of a community that is putting a bit by bit daily to improve the ecology.
- There is a whole personalized view of this app that users can avail of.
- It provides a social platform for organic shop, nursery, agricultural commerce to grow and earn.

### Vision & goals: 
After brainstorming, the team gets to know many further benefits of this app. For example, Soil testing through 'Machine Learning and Data Mining'. Farmers can get direct digital reports from Government/private testing labs including some suggestions to improve their farm quality and quantity.

Want to know more/ contribute? 
[YouTube](https://www.youtube.com/watch?v=fClmoikqrOA) [GitHub](https://github.com/dscigdtuw/GrowGreen)

Contribute to HacktoberFest. The perks are premium and renowned.
> Happy Hacking 🤟♥



##### 🤝Connect with me: [GitHub](https://github.com/Sakshi-25) | [Linkedin](https://www.linkedin.com/in/sakshi-jangra-37755b17b/) |  [Twitter](https://twitter.com/Sakshi2517)
Software Development for non-programmers #1
Tags: software, development, beginners, nonprogrammers
Published: 2020-10-20 10:41:54

You are a normal person from the real world. You go to work, by bus, car, walking, anyway. Just arrive at work and then do your job, whatever it is. You arrive at your desk and turn on the computer and start using the program (or programs) that you use to perform your daily tasks. And then, from nothing, the software crashes. Bad software! Crashed and you saved nothing and, as a result, you have to start over, from the beginning. You start to blame programmers and their families for this. But wait! How can you say that? What if it's not a software problem, but it's a network problem or some hardware problem or another problem indeed?

In this series of posts, I will write (or try to) about software development (and why you should not blame programmers and their families).

Let's begin with the most basic concept: Computer Program.

There's a definition on [Wikipedia](https://en.wikipedia.org/wiki/Computer_program) that defines it well, but there's a catch.

A Computer Program is a logically ordered list of instructions to perform a specific task.

Let's explain it better, but backward:

 * **to perform a specific task**: means that although a program can perform a lot of things, it is programmed to help people with mainly one thing. Let's have the worksheet office program example. With it, users can create a plethora of different worksheets, but it's good for making calculations.

 * **list of instructions**: Computer Programs don't come out anywhere, they have to be programmed using a specified protocol that will bring them into life. It's also known as a programming language.

 * **logically ordered**: the list of instructions are nothing if they are not logically ordered. You can't save anything to a file if you don't open it first or it's faster to find a name on a list when it's ordered, then that's better to order it first.

Computer programs are developed using Programming Languages, which are protocols that use a well-defined set of rules to create programs. There is plenty of programming languages out there in the wild. They are driven by paradigms in which will dictate their style of coding.

Computer Programs are complex. They contain a lot of algorithms that build a complete Computer Program.

In this set of articles, I will tell about algorithms and some examples, paradigms, and programming languages (with a focus on Java).

Stay tuned!
Listing of all resources in all AWS regions (shell script)
Tags: aws
Published: 2020-10-20 10:39:42

This allows you to see the overall resources without having to check for each region and each service.

When you [close your AWS Account](https://aws.amazon.com/premiumsupport/knowledge-center/close-aws-account/?nc1=h_ls), it also helps you to see if there are any active resources left over.

>  if you have any active resources and terminate them before you close your account

# Script

get-resources.sh
```shell
for region in `aws ec2 describe-regions --query 'Regions[].RegionName' --region us-west-1 --output text`
do
    echo "region = ${region}"
    aws resourcegroupstaggingapi get-resources --region ${region} --query 'ResourceTagMappingList[].ResourceARN';
done
```

 - For each region fetched by describe-regions, I use resourcegroupstaggingapi get-resources.
 - It's OK to do describe-regions at any region, so I've set it to us-west-1.

## Prerequisites

 - [aws cli](https://aws.amazon.com/jp/cli/) is installed.


# Usage

## Run

```shell
export AWS_PROFILE=xxxx # Not necessary if you always set the default profile.
sh get-resources.sh 
```

## Output

```shell
region = eu-north-1
[]
region = ap-south-1
[]
region = eu-west-3
[]
region = eu-west-2
[]
region = eu-west-1
[]
region = ap-northeast-2
[]
region = ap-northeast-1
[
    "arn:aws:apigateway:ap-northeast-1::/restapis/〜/stages/devA",
    "arn:aws:apigateway:ap-northeast-1::/restapis/〜/stages/devB",
〜
    "arn:aws:ec2:ap-northeast-1:111111111111:vpc/vpc-1111111a",
    "arn:aws:ec2:ap-northeast-1:111111111111:vpc/vpc-1111111b",
〜
    "arn:aws:lambda:ap-northeast-1:111111111111:function:xxxx-checker",
    "arn:aws:lambda:ap-northeast-1:111111111111:function:xxxx-deleter",
〜
...
```

# Notes

If there is a service that is not supported by the resourcegroupstaggingapi, it will not be listed.

# Reference
## ec2/describe-regions
https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-regions.html
Used for listing regions

## resourcegroupstaggingapi/get-resources
https://docs.aws.amazon.com/cli/latest/reference/resourcegroupstaggingapi/get-resources.html
Used for listing resources

## How do I close my AWS account?
https://aws.amazon.com/premiumsupport/knowledge-center/close-aws-account/?nc1=h_ls
Better Data Quality Through Observability With Monte Carlo - Episode 155
Published: 2020-10-20 10:36:13

<p>In order for analytics and machine learning projects to be useful, they require a high degree of data quality. To ensure that your pipelines are healthy you need a way to make them observable. In this episode Barr Moses and Lior Gavish, co-founders of Monte Carlo, share the leading causes of what they refer to as data downtime and how it manifests. They also discuss methods for gaining visibility into the flow of data through your infrastructure, how to diagnose and prevent potential problems, and what they are building at Monte Carlo to help you maintain your data's uptime.</p><p><a href='https://www.dataengineeringpodcast.com/monte-carlo-observability-data-quality-episode-155/'>Listen Now!</a></p>
The Journey To Replace Python's Parser And What It Means For The Future - Episode 285
Published: 2020-10-20 10:35:22

<p>The release of Python 3.9 introduced a new parser that paves the way for brand new features. Every programming language has its own specific syntax for representing the logic that you are trying to express. The way that the rules of the language are defined and validated is with a grammar definition, which in turn is processed by a parser. The parser that the Python language has relied on for the past 25 years has begun to show its age through mounting technical debt and a lack of flexibility in defining new syntax. In this episode Pablo Galindo and Lysandros Nikolaou explain how, together with Python's creator Guido van Rossum, they replaced the original parser implementation with one that is more flexible and maintainable, why now was the time to make the change, and how it will influence the future evolution of the language.</p><p><a href='https://www.pythonpodcast.com/cpython-parser-replacement-episode-285/'>Listen Now!</a></p>
How does the stripe 7 lines of code work? Like just paste the code and it magically seems to connect( Dev beginner here!)
Published: 2020-10-20 10:34:35

<form action="/your-server-side-code" method="POST">
      <script
        src="https://checkout.stripe.com/checkout.js" class="stripe-button"
        data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
        data-amount="999"
        data-name="Stripe.com"
        data-description="Widget"
        data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
        data-locale="auto"
        data-zip-code="true">
      </script>
    </form>

Thats the 7 lines. How does it work?
SmartContract on XinFin XDC Network
Tags: blockchain, node, xinfin
Published: 2020-10-20 10:21:05

Deployed a Auction #smartcontract on XinFin Mainnet Network under the injected web3 environment. 
Transaction link: https://explorer.xinfin.network/tx/0x34e9947f66f0f0128e127986f6537d1a93a90995414890b2607a19a671b71018

Check the XinFin Remix 👇
![Smartcontracts on XinFin Network](https://dev-to-uploads.s3.amazonaws.com/i/n5dpqp73w882p9uqhqve.png)
Unhide All Hidden Workbook Windows with One Click in Excel 365!!
Tags: kutoolsexceltutorial, stepstounhideallhidd, kutools
Published: 2020-10-20 12:14:24

---
title: Unhide All Hidden Workbook Windows with One Click in Excel 365!!
published: true
date: 2020-10-20 10:18:32 UTC
tags: KutoolsExcelTutorial,StepstoUnhideAllHidd,Kutools
canonical_url: https://geekexcel.com/unhide-all-hidden-workbook-windows-with-one-click-in-excel-365/
---

In this article, we are going to see the steps to **Unhide All Hidden Workbook Windows**  **with One Click** in **Excel** Office 365 using **Kutools.** Get an official version of MS Excel from the following link: **[https://www.microsoft.com/en-in/microsoft-365/excel](https://www.microsoft.com/en-in/microsoft-365/excel)**

**Note:** [kutools for Excel](https://geekexcel.com/get-kutools-for-ms-excel-2019-2016-2013-2010-2007-office-365/) has more than 180 features which are used to complete the difficult task with several clicks. If you want to use Kutools, you need to install it from Excel’s official website.
## Unhide All Hidden Windows:

To [unhide](https://geekexcel.com/easily-unhide-sheet-in-microsoft-excel-2013/) all hidden windows in Excel, do the below steps.

- Let’s consider an example to understand how to unhide the hidden windows in Excel.
- In the below image, we have shown two Excel windows ( **1,2** ) and these windows are hidden.

![Example workbooks](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/10/Example-workbooks.png)<figcaption id="caption-attachment-16101">Example workbooks</figcaption>

- To unhide the hidden workbook windows, follow the below steps.
- On the **Kutools Tab, select** the **Show & Hide** option, **choose** the **Unhide All Hidden Windows** option from the drop-down menu.

![Go to the Kutools Tab](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/10/Go-to-the-Kutools-Tab.png)<figcaption id="caption-attachment-16102">Go to the Kutools Tab</figcaption>

- After clicking the Unhide All Hidden Windows option, it will show you the workbooks.

## Verdict:

In this short article, you can clearly learn the steps to **Unhide All Hidden Workbook Windows**  **with One Click** in **Excel** Office 365 using **Kutools. ** Give your **Queries/Suggestions** in the below comment section. Thanks for visiting **[Geek Excel.](https://geekexcel.com/)** Keep Learning!

### Read Also:

- [Insert Multiple Checkboxes at Once in Excel Office 365!](https://geekexcel.com/insert-multiple-checkboxes-at-once-in-excel-office-365/)
- [Unprotect Multiple Worksheets at Once in Excel Office 365!!](https://geekexcel.com/unprotect-multiple-worksheets-at-once-in-excel-office-365/)
React Rebuild, React Router and Git, Oh My!
Tags: devjournal, react, git, womenintech
Published: 2020-10-20 10:11:55

_This post was originally published on October 20, 2020 on [my blog] (https://alexlsalt.github.io/blog)._

Happy Tuesday! I'm feeling good - I'm going to be rewriting my Ladies Code Collective (currently just HTML/CSS/JS) into a React app!

I'm really excited about it because I've been practicing and getting more and more used to React Router.

Also, I'll be able to successfully pull my podcast episode data from an API. I was just running into way too many complications trying to do it with a static ol' site.

Anyway, I just finished up mapping out my component/app structure (with pencil, paper, and highlighters, mind you!) and I'm ready to get straight to it.

![Sketches of React components on paper](https://dev-to-uploads.s3.amazonaws.com/i/8pgrbr807laq65pq2loe.jpg)

Getting the structure onto paper first helps so much in just getting a clear picture in your mind - I love it.

So often, I get way too ahead of myself and want to start in on the code as soon as possible - only to inevitably come up against several early organizational obstacles.

Also! I consider myself to be very comfortable with Git, but the thing is - I only commit and push my code changes to the main production branch.

Starting now, I'm going to be pushing to development branches and merging from there.

Updates to come! Wish me luck!

----------


P.S. Did you know I have a podcast with new episodes each Wednesday? Go listen [right over here >>] (https://www.ladiescodecollective.com/podcast)

![The Ladies Code Collective Podcast cover art](https://dev-to-uploads.s3.amazonaws.com/i/e9bnxljvfrdjeti7fvbr.png)
Hey Developer, Go get a life!
Tags: webdev, watercooler, beginners, career
Published: 2020-10-20 10:10:28

We developers have the common issue of managing work-life balance. Being an experienced developer, I have the following things to say

## Success, people praising you... it goes away
Don't try to be a hero developer. Yes, there are certain perks of being one but as this point title says... it all goes away and you will end up with everybody expecting you to complete their task they have given to you because they think you would do it. And you have to do it for your image because you have built it like this. Learn to say NO. If you are a good developer and there are 100 percent chances that you will get more work as people will think that you can do this even if there is another ordinary developer is available. We have to make everyone understand that yes, I am a good developer but I will not do everything everyone asks because I have a life. It becomes a very big problem when it becomes a routine and when you realize it, it's late... Now you will think if you start saying NO then people will judge you and yes...people will. That's why I ask beginners to manage their work-life balance from the start.

## Choose the target audience wisely
Sometimes you work hard for something but don't get enough responses and praise and it demoralizes you. The problem is you are showcasing your ability to the wrong target audience. Think about your audience first. e.g. your organization might not give you enough attention to your innovation but on dev.to if you share it effectively, you will get responses, suggestions and other innovative friends 

## You're earning for yourself and your family
We have to remind ourselves that we are earning for ourselves so give time to yourself and your loved ones. Extra hours spent on work may pay you more but it's not worth more than spending time with your loved ones. Nobody except you will remember the sleepless nights that you spent on work.

## Yes, developer life also gets boring
At some point, developer life also becomes boring so enjoy it. Make friends at your workplace, chit chat, gossip, take breaks, and go on a trip. Do whatever that makes you happy to stay away from a boring life.

## You can overcome Imposter syndrome and Depression but it's better not to fall into it
Everybody from beginner to experienced people feels that they don't have enough knowledge sometimes. The developer communities really help in this case. You can share your knowledge and you will find that your knowledge is helping others and you will also get a deeper knowledge of things that you follow which keeps up your interest. Spending some time in a related community is really worthwhile.


**At last, as these lines from the climb song say**
>Ain't about how fast I get there
Ain't about what's waiting on the other side
It's the climb

It's all about the journey. I am not saying destination doesn't matter, it does but so does the journey. Don't rush, enjoy it which will eventually make your life easy and joyful but **If you don't have life, you don't have to worry about WLB**.
Please ELI5 big data and privacy concerns, and possible black hacks
Tags: explainlikeimfive, bigdata, privacy, ai
Published: 2020-10-20 10:08:49

I mean, if too many personal data are collected, how can it be used? What is within the realm of smartest people? Will it really be in a con man's hands closed to me?

Also, GDPR and laws' flaws? Behavioral flaws? What can greatest hackers really do?

Finally, what will take time to mature and which regulations will never be launched, yet concerning?
Hacktoberfest motivated me to learn a new language!
Tags: hacktoberfest
Published: 2020-10-20 10:08:47

## What I Learned From Hacktoberfest
<!-- What did you learn that can help others contribute to the project you worked on? What did you learn that can help the users of that project?! --> 
If you find an interesting project but it doesn't match your current tech skills, don't be afraid to dig a bit deeper.
A new language or framework can be learnt on the "Go"!
I found an interesting project `Ritchie-cli` which allowed people to run formulas, (formulas are some scripts which are automated by rit)
The project used GoLang extensively, and It was the first time ever that I looked at a code in GoLang.
I started by reading the documentation of the project and improving it too.
Then I picked up small bugs like making output more informative, this made me comfortable with the new language.
After that I tried to add a new feature to the project!

I learnt that when you come across an interesting project, try to learn about in top-down way. First start with the documentation, (ask Questions to the maintainers, they'd love to help you out!) After understanding on the higher level "What is the use of project", then you can start looking for small bugs (Like output is not much informative, better variable name, etc.). This way while going through the codebase ask yourself what this code does? so that you become familiar with different directories.
And after spending some time on the codebase you will be familiar enough to add new features!