teleren/devto huggingface dataset:
Microsoft Ignite News Overload FOMO HELP
Tags: dotnet, ignite, microsoft, azure
Published: 2021-03-08 11:28:00

---
title: Microsoft Ignite News Overload FOMO HELP
published: true
description: As a developer, I want to know anything relevant that happened at Microsoft Ignite, so that I didn't miss out!
tags: dotnet, ignite, microsoft, azure
cover_image: https://3er1viui9wo30pkxh1v2nh4w-wpengine.netdna-ssl.com/wp-content/uploads/prod/sites/600/2021/03/microsoft-ignite-2021-book-of-news_1920x1080.jpg
---

Microsoft hold a lot of great events throughout the year and the first major one of these is Ignite. 

When it comes down to the target audience let's be honest, this event is less focussed on developers and more on the IT Crowd, decision makers, business intelligence and the growing field of citizen developers. 

However! If you're a curious developer you'll notice that there is a lot of really interesting things littered throughout the event that could mean quite a lot either now or in the near future.

But how do we find out what these are without loading up a virtual backpack and attending all of the events? 

Don't worry - it's pretty much all available in the book of news!

[Microsoft Ignite Book of News 2021](https://news.microsoft.com/ignite-march-2021-book-of-news/)

I hope Microsoft promote this site more in the future for their events as it's becoming a really well presented site, with a well thought out table of contents that help you find out everything that was announced at the show.

The highlights for me are in the first section and especially 1.4 - Azure Dev and Ecosystem.

* [Azure Communication Services](https://azure.microsoft.com/en-gb/services/communication-services/) - one to watch! My devs are used to using Twilio for tasks like SMS, but now we can stay in the Azure ecosystem - which is also great for the billing bods!
* [.NET Upgrade Assistant](https://dotnet.microsoft.com/platform/upgrade-assistant) - we still have a few, more complex apps we haven't made the jump to Core on just yet. So now this is in preview we may give it a spin before the .NET 6 version appears, just so we get an idea of what suggestions we get.

There's other really cool news in this section too, and depending on your role and interests I'm sure you'll find some!

Looking to the future - the [biggest news was definitely Mesh](https://www.youtube.com/watch?v=Jd2GK0qDtRg&ab_channel=Microsoft) and the increasing investment / push Microsoft is putting into mixed reality and Hololens. While I remain sceptical, they certainly put on a good show and I look forward to seeing more practical uses of the system. 

{% instagram B3H0X8KpUsi %}

There's no way to look cool while trying to operate a HoloLens 🤠 

In the meantime I'll be sticking with our choice of remote interactivity in Microsoft Teams, which has been excellent during the pandemic and looks to continue as we move into a new future of remote working for our dev teams!
react-redux error Unhandled promise rejection: TypeError: Network request failed (solution)
Tags: react, reactnative, redux, mongodb
Published: 2021-03-08 11:19:42

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9gemr78pu96k9a5j68gd.PNG)
trying to fetch data from Mongo DB node js server to react-native using redux but when trying to fetch data by POST Man API testing tool it's working nicely on the other hand when trying to fetch this same data by react-native by redux its show me:
.
  Unhandled promise rejection: TypeError: Network request failed error
.
Now I want to see what is wrong I did and why this error shows me in react-redux but not in the POST Man API Testing tool.
.
after trying so much time finally I find out why actually happen this type of error.

Basically, this error generates for uses of http://localhost:3000/api/houses this type of URL in the redux file. 
.
to avoid this type of error we have to use (http://your IP address:3000/api/houses)  instead of (http://localhost:3000/api/houses) this type of URL.
.
 in my case to solve this error I go to my command prompt (CMD) or terminal and then type ipconfig its show me the IP address of my machine which is like the below screenshot:
   ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/78uk57qlyx8w57e7utp3.PNG)
and then I go to my redux action file and replace thsi line
const result = await fetch('http://localhost:3000/api/houses');
        to
const result = await fetch('http://192.168.1.30:3000/api/houses');
this line

Note : here: 192.168.1.30 is my IP address
.
finally, it solved and I have found my expected result in terminal
.
so why terminal because I use 'console.log' that's why I got output on the terminal. 
which is like below screen-shot 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/grwdaqe4fccjkl23z6jf.PNG)

finally, my virtual device is run clearly its men virtual device does not show me any warning now. 
which is like the below screen-shot
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2p9jkcawl536jao5sitk.PNG)

so to solve the 
"Unhandled promise rejection: TypeError: Network request failed" 
.
error in react-redux you have to use your machine IP instead of the browser URL: like http://your IP:3000/your API'
.
so I hope it will help all of you the internet, people 
that's it 
.
Happy Coding.
osman forhad
Mobile & Web Application Developer💻
Kubernetes CKAD Tips 5 – Namespaces
Tags: kubernetes, ckad, devops
Published: 2021-03-08 11:16:24

Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called namespaces.
Names of the resources within a Namespace should be unique. Namespaces cannot be nested.

{% youtube F7dcyUXbbEY %}

[https://youtu.be/F7dcyUXbbEY](https://youtu.be/F7dcyUXbbEY)

## Resources 

Subscribe to the Channel [TechTalks-Wriju](https://www.youtube.com/channel/UCUzFKvlZOm3ukAiF59B_HgQ)

The [Kubernetes and CKAD Playlist](https://www.youtube.com/playlist?list=PLPIVZsyfpXt-wyNY65-aC9Vm_PEsM3pR8)
Equal Height in Vanilla JavaScript
Tags: javascript, html
Published: 2021-03-08 09:54:35

If you want to add **equal height** for the elements, you don't need any jQuery or JavaScript Plugins. Just add following script and use it for any elements. 

You can also check the [Demo](https://codepen.io/dhruvangg/full/ZEBqBKz)

```
function setHeight(el, val) {
  if (typeof val === "function") val = val();
  if (typeof val === "string") el.style.height = val;
  else el.style.height = val + "px";
}

var equalheight = function(container){
  var currentTallest = 0,
      currentRowStart = 0,
      rowDivs = new Array(),
      $el,
      topPosition = 0;

  Array.from(document.querySelectorAll(container)).forEach((el,i) => {
    el.style.height = "auto";
    topPostion = el.offsetTop;
    if(currentRowStart != topPostion){
      for (currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) {
        setHeight(rowDivs[currentDiv], currentTallest)
      }
      rowDivs.length = 0;
      currentRowStart = topPostion;
      currentTallest = parseFloat(getComputedStyle(el, null).height.replace("px", ""))
      rowDivs.push(el);
    } else {
      rowDivs.push(el);
      currentTallest = (currentTallest < parseFloat(getComputedStyle(el, null).height.replace("px", ""))) ? (parseFloat(getComputedStyle(el, null).height.replace("px", ""))) : (currentTallest);
    }
    for (currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) {
      setHeight(rowDivs[currentDiv], currentTallest)
    }
  })
}
```

You don't need to change above code. Just put following code below main code and repeat it as many time as you want. 

```
window.addEventListener("load", function(){
  equalheight('.blog-title')
})
window.addEventListener("resize", function(){
  setTimeout(function(){
    equalheight('.blog-title')
  })
})
```
This code does not have any dependency. It is **built in pure JavaScript**.
What is the best way to read an attribute from a long object chain?
Tags: javascript
Published: 2021-03-08 11:02:24

We always use an object to read and write data in `javascript`.

Suppose this object

```js
const obj = {
    one:{
        two:{
            three:{
                four:{
                    data:"This is the data"
                }
            }
        }
    }
}
```

Any attribute at any level of nesting can be `null` or `undefined`.

For example
```js
obj = null;
obj.one = null;
obj.one.two = undefined;
```
So, if we are concerned with property `data` from the object `obj`.

We will use it like this.
```js
const data = obj?obj.one?obj.one.two?obj.one.two:"":"":""; // so on...
```

What I tried is
```js
let data = "";
try{
data = obj.one.two.three.four.data;
}catch(e){}
```

This way at any stage if we try to encounter an operation like, one is `undefined` and we are trying to read the property of `one`. Then, in this case, it'll throw an error and `data` will be an empty string.

> It works fine

As I don't have much experience, so I would like to know from the community that, is a good way of reading the data?
Tools to optimise the performance of your React app
Tags: react, javascript, webdev
Published: 2021-03-08 10:55:40

---
title: Tools to optimise the performance of your React app
published: true
description: Tools to optimise the performance of your React app
tags: react, javascript, webdev
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zh8zrhu58v2ttzix04qi.jpg
---

Although React provides many optimisations for your code out of the box, it is important to nonetheless properly evaluate and optimise the performance of your React app.

I've found these tools to be most helpful during the development process to help optimise an application.

## 1. Lighthouse 

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

Right click on a page and click `Inspect` to open developer tools, click on the `>>` and you will find `Lighthouse` if it doesn't already show in the tab.

Lighthouse will generate a report of that website by assessing in `Performance`, `Accessibility`, `Best Practices` and `SEO`.

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


## 2. Profiler

Prior to using Profiler you must have installed `React Developer Tools` from the Chrome web store as it is a dev tools extension.

Once you have that installed you should be able to see Profiler in your developer tools. Close and reopen your browser if you don't see it.

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

To get started, hit the `record` icon and make some changes on the page and hit the `record` icon again to stop.

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

The Profiler will give you a break down of all Components rendered on the page and how long each one is taking to render. 


## 3. Webpack Bundle Analyzer

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ebznhrhdqqlzg3pur7t.png)

Webpack Bundle Analyzer is a tool that generates an interactive treemap visualisation of the contents of your bundle. 

You will be able to identify dependencies that take up a significant amount of storage. In the example above, the entire `lodash` library was imported for a project. To reduce the bundle size we can introduce **tree shaking** on the `lodash` package. Essentially, only installing the functions that we need.

Before:

```js
import _ from "lodash";

const object = { 'a': 1, 'b': '2', 'c': 3 };
const omittedObj = _.omit(object, ['a', 'c']);

return omittedObj;
```

After:

```js
import omit from "lodash/omit";

const object = { 'a': 1, 'b': '2', 'c': 3 };
const omittedObj = omit(object, ['a', 'c']);

return omittedObj;
```

---
Thank you for reading! I hope that you will incorporate these technologies and practices into your projects as it will definitely help you write sustainable and reliable code!
What I found hard about Rust (and how I got the hang of it)
Tags: rust
Published: 2021-03-08 10:42:52

Rust is an interesting language. [Much-loved](https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages), a systems programming language (no garbage collection, etc) but feels like a higher level language with iterators, fancy type systems, nice tooling, and you can write code that works
without needing to carefully juggle memory.

I've done plenty of systems programming (C, C++) and higher level (Python, C#, etc), so figured Rust should be easy enough to pick up, but I'd hit the same struggles everyone else does, where the borrow checker yells at me, and when do I use a `String` vs `&String` vs `str` vs `&str`?

Eventually I figured out why I was struggling so much though, and now I'll share with you, gentle reader, my revelation.

**I was forgetting to think about memory and lifetimes**

When coding in C or C++ I'd be constantly aware of every allocation and trying (and sometimes failing) to carefully track the lifetimes of every object I use because if I don't, bad things happen.

In a language like Python I don't because that's all hidden from me. I just code and it's the interpreter's problem.

When writing Rust it felt so easy, so I relaxed and stopped the careful tracking that I would in other systems programming languages. Of course, you can't since it matters in Rust. It has better ergonomics and safety but it's still a systems programming language, that means it assumes you know and care about whether things are heap or stack allocated, or about when exactly something is deallocated.

This then means the solution is sad but easy. I need to go back to thinking about where I want things allocated, how they're getting passed to functions, how long they live for. But at least when I get it wrong I find out from the compiler instead of [Project Zero](https://googleprojectzero.blogspot.com/).
Post Message in Slack Channel for Push in GitHub
Tags: github, slack, integration, tutorial
Published: 2021-03-24 13:53:06

---
title: Post Message in Slack Channel for Push in GitHub
published: true
date: 2021-03-08 10:34:48 UTC
tags: #github, #slack, #integration, #tutorial
canonical_url: https://tech.forums.softwareag.com/t/post-message-in-slack-channel-for-push-in-github/239488
---

### Summary

This article describes a business use case that will post messages to **Slack** channel for every push made in **GitHub**.

### Prerequisites

- User should have a working [webMethods.io](http://webmethods.io/) Integration tenant.

- User should have a working **GitHub** and **Slack** account.

### Steps

1. Login to [webMethods.io](http://webmethods.io/) Integration tenant and create a Workflow.

2. Click the **Settings** and search for the **GitHub** trigger from the available list of triggers.

3. Select **Push** from the list of **Select Trigger** options. Authorize **GitHub** by either default or manual configuration, then select the **Repository Name**.
![image](https://aws1.discourse-cdn.com/techcommunity/optimized/2X/d/d9fdfdb648db382a41b34868929691031302a406_2_661x500.png)
4. Click **Save** , skip testing the trigger for now, then click **Done**.

5. Drag and drop the **Slack** connector to the workflow palette.

6. Double click on the **Slack** connector icon in the workflow palette to configure the action.

7. In the action configuration screen, select **Post Message to Channel** from the available list of options for **Select Action**.

8. Authorize **Slack** by either Default or Manual configuration. Then, click **Next**.
![image](https://aws1.discourse-cdn.com/techcommunity/optimized/2X/2/2e2a8be5b7c186b70159fa2ae42cd4509de0a8d3_2_497x499.png)
9. Provide mandatory inputs and map the appropriate fields from the **GitHub** trigger to form a proper text message to be posted to the **Slack** channel.
![image](https://aws1.discourse-cdn.com/techcommunity/optimized/2X/d/df6b905eeaf6ab9d232140f34e99242cd564b34f_2_690x335.png)
10. Click **Next** , then **Done**. Save the workflow.

11. Now, push some changes to **GitHub**. Use the same repository selected in step 3.
![image](https://aws1.discourse-cdn.com/techcommunity/optimized/2X/b/bd9f5a643cf77a75dbe35d66782087cfbcc7d050_2_690x142.png)
12. Soon the changes are pushed the workflow will execute.
![image](https://aws1.discourse-cdn.com/techcommunity/optimized/2X/9/99397698987aa54d3e186521d8e530eaafae7abe_2_690x390.png)
13. Now check the **Slack** channel for the message posted.
![image](https://aws1.discourse-cdn.com/techcommunity/optimized/2X/4/4d31ee0bb9e3ed6417c3bd826a4cb0233259e996_2_690x424.jpeg)


[Read full topic](https://tech.forums.softwareag.com/t/post-message-in-slack-channel-for-push-in-github/239488)
Matt Brannelly | Business Ethics Principles
Tags: businessethics, ethicalcommitment
Published: 2021-03-08 10:24:41

According to Matt Brannelly, the most recent lesson on the importance of business ethics came with the Wall Street collapse, as once highly esteemed financial institutions made headlines for their bad choices and questionable behavior.

The overriding principle that you have as an individual is you have to make the right decision, says Matt Brannelly, strategic advisor from Australia.
https://www.klusster.com/portfolios/matt-brannelly/contents/100233
Top 5 Tips for Taking Microsoft Certification Exams
Published: 2021-03-08 10:01:26

During the certification exam, each person has a different level of anxiety and nerves. This usually applies to certification exams, as well as school semester exams. This is great if you know all about the test objectives that are tested in the <a href="https://www.justcerts.com/microsoft-certification-exams.html">Microsoft Certification Exams</a>, but be sure to follow best practices for taking the exam. This will help you reduce anxiety and increase mental focus so that you do your best every time.

Here is a list of some tips and techniques you can use to prepare for and participate in a certification exam session:

1.	Practice tests - Be sure to use the practice test as part of your test process. This will help to get into the mentality of the exam question.

2.	Multiple learning resources - Using multiple learning resource sources will sometimes help to duplicate content and improve preservation. This combination can be a classroom, a lab, documentation, and a textbook. Or maybe another set of resources is appropriate.

3.	Practice. Do the exercises. Do the exercises. Gain extensive practical experience with the methods involved in the exam.

4.	Get plenty of sleep - enough sleep at night before sitting for the exam, you will rest well and be able to focus on the exam with a clear mind.

5.	Answer to all questions - An unanswered question is a wrong answer. Make sure you don't lose an unnecessary point to answer all the exam questions.

Best of luck!!!
The Turbo Showcase 🚀
Tags: rails, turbo, stimulus
Published: 2021-03-08 08:46:51

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

I was getting a bit lost in the documentation of [Turbo](https://hotwire.dev/), so I thought "Why not creating a showcase of what you can actually do with it?"

So here it is: https://turbo-showcase.herokuapp.com/

Currently, we have some examples of Turbo Drive, Turbo Frame and Turbo Stream, and a first combination of what you can achieve with ViewComponent + Turbo + Stimulus.

The Application is fully inspectable and you can enjoy the beautiful Source Code directly in the Browser or on the [GitHub repository](https://github.com/renuo/turbo-showcase).

Please feel free to contribute or make requests! At [Renuo](https://renuo.ch) we will keep adding more and more examples while exploring the possibilities of this new Framework.
Few Note Worthy TypeScript Podcast Episodes
Tags: typescript, react, webdev, javascript
Published: 2021-03-08 09:59:10

After facing countless `cannot read property of undefined` errors and understanding the advantages as well as the downfalls of the dynamic nature of JavaScipt, I have finally jumped on the TypeScript bandwagon. 

One of the first things I usually do before deciding to learn a new technology is to listen to some of my favorites tech podcasts and see what the community has to say. Here are a few of the podcast episodes that helped me understand the benefits of using TypeScipt, even before I wrote my first line of .ts code.

- **[Syntax - TypeScipt Fundamentals](https://syntax.fm/show/324/typescript-fundamentals)** - Covers most of the TS fundamentals and the reasons for using it.


- **[Full Stack Radio - TypeScript and Testing](https://fullstackradio.com/144)** - An amazing episode about how TS  makes your application robust while greatly reducing your need to write tests.


- **[TalkScript.FM - TypeScript At Scale](https://talkscript.sitepen.com/episode-57-typescript-at-scale/)** - An intriguing podcast episode from two experts about managing typescript projects at scale.
 
I will keep you guys posted about my learning journey with TypeScipt on Dev.to and post some useful resources along the way.
My function return before executing the previous linse.
Tags: javascript
Published: 2021-03-08 09:57:49

The following function return x before assigning it to res, despite I assign it in an earlier line then the return.
```
function newData() {
    var x: [] | any = [];
    lookup("GET", "api/post/", (res: myArrays["posts"], status: number) => {
      x = res;
    });
    console.log(x);
    return x;
  }
```
Best Golang Web Framework for Larg Projects
Tags: discuss, go, webdev
Published: 2021-03-08 09:57:42

Please Send **reply** about your experience using this web framework in your projects.


List Framework by Github Status for discuss

| Framework | Commit | Star  | Fork | Example | Documentation | Last Release |
| --------- |--------| ------| ---- | ------- | ------------- | ----------- |
| Gin | 1423 | 46.3k | 5.3k | Yes | Yes | 2020/5/3 |
| Iris | 2251 | 20.5k | 2.2k | Yes | Yes | 2021/1/10 |
| fiber |2937 | 13.2k | 611 | Yes | Yes | 2021/5/6 |
| beego | 4220 | 26k | 5.1k | Yes | Yes | 2020/12/14 |
| echo | 1510 | 19.3k | 1.7k | Yes | Yes | 2021/3/8 |
| revel | 1618 | 12.2k | 1.4k | Yes | Yes | 2020/7/12 |
| buffalo | 2589 | 6.1k | 480 | Yes | Yes | 2021/1/18 |
| Confetti |257 | 215 | 3 | Yes | Yes | 2021/3/13 |



##[Gin](https://gin-gonic.com/docs/introduction/)
* Fast
* Middleware support
* Crash-free
* JSON validation
* Routes grouping
* Error management
* Rendering built-in
* Extendable

##[Iris](https://iris-go.com/)
* FAMILIAR API
* SOLID
* FAST
* COMPATIBILITY
* POWERFUL ROUTING
* LOGGING
* SCALABLE SESSIONS
* SCALABLE WEBSOCKET
* MVC PATTERN
* FILE SERVER
* SMART COMPRESSION
* VIEWS
* GRPC
* CONTENT
* API VERSIONING
* SITEMAP
* AUTHENTICATION AND AUTHORIZATION
* LOCALIZATION
* TESTING
* LOCALHOST

##[Echo](https://echo.labstack.com/)
* Optimized Router
* Scalable
* Automatic TLS
* HTTP/2
* Middleware
* Data Binding
* Data Rendering
* Templates
* Extensible

##[buffalo](https://gobuffalo.io/en/)
* Routing
* Templating
* Buffalo toolbox
* Testing
* Hot code reload
* Frontend pipeline
* Models/ORM
* Task / Background workers

##[beego](https://beego.me/)
* Easy to use
* Intelligent
* Modular
* High Performance
* MVC

##[revel](https://revel.github.io/)
* Hot Code Reload
* Comprehensive
* Flow Control
* Migration Friendly
* Reusable MVC Components
* Go mod Ready
* Stateless

##[fiber](https://gofiber.io/)
* Robust Routing
* Serve Static Files
* API-ready
* Flexible Middleware Support
* Low Memory Footprint
* Rapid Programming
* Template Engines
* WebSocket Support
* Rate Limiter

##[Confetti (New Web Framework)](https://www.confetti-framework.com/)
* heavily influenced by Laravel
* extremely simple syntax
* easy to learn
* easy to deploy
* Developer friendly
* Easily adaptable