teleren/devto huggingface dataset:
Why Use ReactJS
Tags: why, react, use, advantages
Published: 2019-07-15 13:18:32

---
title: Why Use ReactJS
published: true
tags: why,react,use,advantages
canonical_url: https://medium.com/@romedy65i/why-use-reactjs-8298367f6e0c
---

![](https://cdn-images-1.medium.com/max/1024/1*8yz3hkO3ynHV2qYGARynJg.jpeg)

> In this article, I will not be explaining everything in detail but from a developers point of view, I will be explaining **how ReactJS is different** from other old platforms because when we ask, many developers still don’t know or are not clear about the purpose of using ReactJS.

> What is React.js? React is a JavaScript library for building user interfaces, i.e, for client-side. React was created at Facebook in 2011and was released initially in March 2013.

> It is used for creating **SPAs (**Single Page Applications**)** — no page reloads, no extra wait time. It is just one web page that you visit which then loads different components.

> React lets you define **components** as classes or functions. Components defined as classes currently provide more features which are described in detail on this page. It helps to strive towards _scalability, code reusability_ and keeps your code _organized._

> It offers **Virtual DOM** (Document Object Model) i.e. It performs necessary updates before rendering the final web-page into a browser and is one of the core reason why React enables the creation of fast, scalable web apps.

> It gives us new features such as **jsx** (syntax extension to javascript), **state management** (with redux) to store all changes in one section, and pass custom data to a specific UI component, with the help of  **props**.

> **Ease of Migration — ** When Migrating from an older version of technology to a new one, certain questions arise on the level of effort and time required in performing the task.

> React is a lightweight JavaScript library. React code can be added anywhere onto existing infrastructure without the worry of shutting down the system for maintenance and also less dependency to reinvent the wheel.

> Google’s Angular framework; for instance, faced a very alarming compatibility issue between its first generation Angular 1.x and the futuristic Angular 2. Companies intent on shifting to the newer version had to invest time to train developers in the latest technology.

> There are many **React UI frameworks** , which provides an exceptionally great user interface, with less code and faster web-page load  **speed**.

### Bibliography :

- [React (JavaScript library) - Wikipedia](https://en.wikipedia.org/wiki/React_(JavaScript_library))
- [Advantages of Developing Modern Web apps with React.js](https://medium.com/@hamzamahmood/advantages-of-developing-modern-web-apps-with-react-js-8504c571db71)
- [Getting Started - React](https://reactjs.org/docs/getting-started.html)

_If you liked this article and if you are kind fellow, give a few claps to this article._
Working in Tech Survey
Tags: devops, survey, seo, webdev
Published: 2019-06-26 11:45:42

We’re currently running a short survey to better understand the development and engineering communities from an SEO perspective, and we could really use your input!

We’re looking for feedback about what tools you use, how you work with other teams, and what drives the work you’re doing.

In return for completing the survey, we'll enter your name into our draw where one lucky entrant will win a $250 Amazon gift card.

We're really looking forward to getting your opinions and thanks again for your help.

https://deepcrawl.typeform.com/to/EJSakW
How to automatically switch text color based on background's brightness
Tags: javascript, rgb, brightness, a11y
Published: 2019-06-26 11:42:44

---
title: How to automatically switch text color based on background's brightness
published: true
description: Quick example of how to automatically switch text color from white to black based on the background color brightness
tags: javascript, JS, RGB, brightness, accessibility
---

Here a quick example of how you can programmatically change text color, for example of a button, based on the element's background color.

The function take in account the brightness of the background and switch automatically text color.

{% codepen https://codepen.io/polettoweb/pen/WqZbVJ default-tab=js %}
Postman now supports GraphQL
Tags: graphql, webdev, api, news
Published: 2019-06-26 11:09:32

---
title: Postman now supports GraphQL
published: true
description: Support for GraphQL has been number two most requested feature on Postman's GitHub
tags: graphql,webdev,api,news
cover_image: https://thepracticaldev.s3.amazonaws.com/i/hejrh27tczrsi9qa7b0e.png
canonical_url: https://blog.graphqleditor.com/graphql-postman/
---

[GraphQL](https://graphql.org/) is a query language for APIs. It's becoming more popular because of the many benefits it offers compared to REST APIs, of which the most important one is smarter data fetching.

The querying model offered by GraphQL is showing its real power when it comes to working with large APIs. 

### GraphQL vs REST

GraphQL allows to specify what data we need in a query and that's what's going to be included in a response – nothing more, nothing less, just the data we asked for in a single request. On the other hand, when fetching for the same data with REST we would end up with multiple REST roundtrips ...

![](https://thepracticaldev.s3.amazonaws.com/i/yi7w5l3qvilfthdifkz8.png)
###### Source: [blog.apollographql.com](https://blog.apollographql.com/graphql-vs-rest-5d425123e34b)

 ... or imagine it this way:

![REST vs GraphQL](https://thepracticaldev.s3.amazonaws.com/i/0trklssn1tp4j9aj78ca.png)

###### Source: [crystallize.com](https://crystallize.com/comics/rest-vs-graphql)

### GraphQL in Postman

[Postman](https://www.getpostman.com/) joins the group of companies acknowledging the GraphQL qualities and has recently [announced the support for GraphQL](https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/) in their service. The latest release of Postman v7.2 enables:

- sending GraphQL queries in the request body,
- GraphQL variables,
- GraphQL query autocompletion.

This is a great complement to the previous update which introduced schema support, all that combined makes it possible to create & store GraphQL schemas directly in Postman itself!


![GraphQL BETA in Postman](https://thepracticaldev.s3.amazonaws.com/i/incr6w2pbc4sboj1hm5g.png)

###### Source: [blog.getpostman.com](https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/)
Transaction navigation component for React Native
Tags: reactnative, animation, design
Published: 2019-06-26 10:49:21

Beautiful Navigation animation with transation made with React Native.

Check it out on [Dribbble](https://dribbble.com/shots/4115418-Home-page-interactions)

Read about how we made this on our [blog](https://www.mindinventory.com/blog/create-tabbar-plugin-with-react-native/)

If you want to know the code, Check [React Native Navigation Animation](https://github.com/Mindinventory/react-native-navigation-animation)

Any Suggestion? please.
This is not the developer you are looking for?
Tags: discuss, healthydebate
Published: 2019-06-26 10:39:20

---
title: This is not the developer you are looking for?
published: true
description: Does this prove your passion for development?
tags: discuss, healthydebate
cover_image: https://i.kym-cdn.com/entries/icons/original/000/018/682/obi-wan.jpg
---

I hope you don't mind me getting this one off my chest. Apologies for what may seem a minor rant.

I've seen quite a few job adverts grace my inbox over the years and another one came through yesterday which included a **should have** which I find irks me somewhat? 

It's the kind of **should** that appears to suggest you can only class yourself as a competent and worthy developer (coder, programmer, software engineer, insert your favourite job description here) for this role if you're attending meetups, have a blog or contribute to stackoverflow, github et al. Basically I feel it suggests you need to live, breathe and intend to die for coding. Life therefore has nothing else to offer.

Now that's a fairly dramatic over exaggeration, admittedly, and let me be clear the activities listed above I am 100% behind. It's more the job advert suggestion that you can only do this job *if* you are also regularly doing these kind of activities. I only have a few repositories on Github, I don't have any activity on Stackoverflow and to be fair my very limited contribution into the "community" is here on Dev.to (2 posts including this one and the odd comment on others). 

I also had a job interview once where it felt like the interviewer was almost trying to impress me with how much all of the "guys" code outside of work. Again, to re-iterate, I am all for this. I certainly try to find some spare time for keeping my skills up to date and learning new things that I can take into work with me. I just found it a bit of a turnoff and I suppose it's because if I interview someone for a developer role, I'm also interested in who they are when not in front of a computer developing the next groundbreaking framework/library. I need to know they can unplug. 

I'm not sure if it's worthy of another post but is this then a kind of elitism issue in the industry? You're not **cool** if you're not jacked in 24/7?

I just want to close with a little disclaimer to make sure I've been clear throughout that I am not questioning what anyone chooses to do with their spare time. We all do what works for us individually and what makes us happiest and I hope you all aspire to that. I just question whether our suitability for a role should be marked against what we are doing outside of the work environment.


####RANT OVER
ExportPDF from Canvas
Tags: canvasjs, exportpdf, javascript, jspdf
Published: 2019-06-26 10:08:28

---
title: ExportPDF from Canvas
published: true
description: Exporting Multiple Charts as PDF using HTML2Canvas & JSPDF - CanvasJS JavaScript Charts
tags: CanvasJS, ExportPDF, JavaScript, jsPDF
---

https://codepen.io/burakkp/pen/orGbvm
I'm changing my job title to Data Librarian.
Tags: data, humor, job
Published: 2019-06-26 10:06:21

After about eighty cups of coffee, twelve passive-aggressive emails, sixteen aggressive-aggressive slack messages, two midlife crisis, and three mental breakdowns I have decided to change my job title from Data Analyst to Data Librarian

Why? Primarily because I already wear glasses, I'm gay, and have the drinking problem pre-installed but also because I'm sick and tired of being held accountable for the data. 

It's not my kid. Not my problem. 

Customers hold the following fallacies:
- The data they are after exists full stop.
- The data they are after exists in one location with no manipulation needed.
- The data they are after is not compromised in any way.
- A packet of biscuits are an acceptable thing to bring to a shared morning tea.

And because they hold these fallacies, when the data fails me like a father going out to get cigarettes, I get the blame.

It's not fair. Data sucks - why do you think the world is filled with so much disappointment? If everyone had good data...shit👏would👏get👏done. 

Instead it's 2pm and I've written my eighth 'as per my last email' for the day.

So I'm changing my job title to Data Librarian, because like a Librarian I'm not responsible for what's in the data, I'm responsible for housing it and giving you vague directions in order to locate it.

You don't blame the Librarian because Moby Dick wasn't an autobiography about American Singer / Song Writer Moby's genitals. You deal with it and move on with your weird fetish.

That's the same respect I should be getting at work. 

No we don't have data on the moons weather, piss off.

No I can't give you a list of people that might become customers, jog on.

No for the 17th time, the data is incomplete, build a bridge...and jump off it. 

Now leave me be, I need to change my [Linkedin] (https://www.linkedin.com/in/christian-young-863541148/)


*Photo by Eli Francis on Unsplash*


{% twitter 1134980546340085762 %}
How do you manage deployment configs? (Especially large scale cloud agnostic ones)
Tags: discuss, agile, devops
Published: 2019-06-26 09:40:42

---
title: How do you manage deployment configs? (Especially large scale cloud agnostic ones)
published: true
description: Especially for large scale deployments.
tags: discuss, agile, devops
cover_image: https://thepracticaldev.s3.amazonaws.com/i/z8poneb8wv3jqtt722qn.jpg
---

# Context

For the past few weeks, I have been using a crazy mix of the following. All within a git repository (infrastructure as code), as we migrate most of our infrastructure and workload from one provider to another.

- terraform
- nodejs
- bashscripts
- kubernetes yaml

With lots and lots of json, and yaml configuration files. Mostly generated from one system, to be piped to another (about 10k lines worth).

---

`terraform` which is commonly sold as a single solution for everything (it isnt), rapidly broke apart for us once we started doing deployments outside the usual AWS / GCP, and its poor support for kubernetes (which we use heavily)

So we started patching up missing orchestration with nodejs + bashscripts.

And now we have a giant soup of scripts updating other scripts configuration and applying them. Not exactly the most "elegant" solution.

---

# The question : How do you do it?

So wondering out loud, for those who do really large scale deployments, especially with a small team. 

Is it normal to always throw in the towel at the end, and code up a custom configuration management script to handle all this chaos? If so do you all normally do it in bash? or a custom application (like java)? or some other CLI scripting language.

Alternatively, is it normal to just grow a really large sysadmin team, each managing a subset of the system?

It feels like I am reinventing the wheel on these things, yet I somehow feel like there would have been a solution out there for this.

> Sidetrack: a large part of me just feels like redoing terraform in nodejs out of frustration, to support my use cases.

---

# Clarification on scale

I do believe there are multiple cloud specific offerings out there, the reason we do not use any of them is currently we run on the following list of providers.

- gcp
- aws
- digital ocean
- linode
- alicloud
- hetzner
- bare metal on-premise stuff

Covering the following regions

- singapore
- unitedkingdom
- germany-frankfurt
- india-bangalore
- canada-toronto
- usa-newyork
- usa-sanfranc
- netherlands-amsterdam
- indonesia-jarkata
- hongkong
- taiwan
- +3 other data centers

The complex web of providers comes in part from the need to support regions where another provider either does not exist, or does poorly performance wise.

**All to run UI tests at https://uilicious.com !??!**
The Dog-Not-a-Dog Workshop
Tags: ai, azure, cloud, cloud5mins
Published: 2019-06-28 14:09:42

---
title: The Dog-Not-a-Dog Workshop
published: true
tags: ai,azure,cloud,cloud5mins
canonical_url: http://www.frankysnotes.com/2019/06/the-dog-not-dog-workshop.html
---

  
I recently presented, a workshop at the [TOHack](https://www.tohacks.ca/) to get started with Azure. The goal was to try different Azure services, and see how we could augment an existing website using serverless function and artificial intelligence.  
_(Aussi disponible en [français](http://www.cloudenfrancais.com/posts/L-Atelier-workshop-Dog-Not-a-Dog.html))_  
  

[![](https://1.bp.blogspot.com/-dyloHAPv0rI/XRKJ4r_m0MI/AAAAAAAA9W8/mmUL6FJKO24leA6eAta1zk_B8BMzFH_-QCLcBGAs/s400/workshopHeader.png)](https://1.bp.blogspot.com/-dyloHAPv0rI/XRKJ4r_m0MI/AAAAAAAA9W8/mmUL6FJKO24leA6eAta1zk_B8BMzFH_-QCLcBGAs/s1600/workshopHeader.png)
  
During this workshop, a website is deployed automatically from GitHub. Then by adding an Azure Function and using the Vision API of Azure Cognitive Services, the final solution is able to detect when uploaded pictures are or not dogs and keep our image folder "clean". We call that application: _The automatic Not a Dog application_.  
  
The step by step instruction with the code can be found on [GitHub - Not-a-Dog-Workshop](https://github.com/FBoucher/Not-a-Dog-Workshop). The workshop can be done in about 45-60 minutes.  
  

I also did a video that is available on my YouTube channel:
  
{% youtube ic-eP-gtFSo %}
  
You have questions, you are blocked, it will be a pleasure to help you.
Interview with Phil Parsonage, the Chief Engineering Officer at Foundry
Tags: career, cpp
Published: 2019-06-26 09:15:08

*Phil Parsonage is the Chief Engineering Officer at Foundry, who have been developing creative software for the digital design, media and entertainment industries for more than 20 years. Their clients include major feature film studios and post-production houses such as Pixar, ILM, MPC, Walt Disney Animation, Weta Digital, DNEG, and Framestore.* 

*Phil tells Client Server Marketing Manager Michael Oliver about what Foundry looks for when hiring engineers and how a little bit of C++ can make a huge difference on the big screen.*

**Michael Oliver:** You’ve been with Foundry for more than 15 years – can you tell me about your current role? 

**Phil Parsonage:** I'm chief engineering officer and have been in a variety of jobs, through starting off as a C++ developer, then running different departments and through to my current role where I look after product engineering across the media and entertainment part of the business, plus some of our internal technology teams.            

**MO:** What does Foundry do? 

**PP:** Foundry is a creative software developer for anything that involves pixels and beautiful pictures and products. Our company’s brand platform is “Imagination engineered” which is all about advancing the art of technology and enabling more and better creativity, faster. And our mission is to help customers meet the demands of their markets by helping them bring incredible ideas to life, faster and better. We work across two main industries - media and entertainment - where we do a lot of work in both post-production and pre-production in visual effects, animation, gaming etc. And the second one is in digital design, where we help our customers visualise photo-realistic designs efficiently using digital tools.

**MO:** Foundry software is a mainstay of the film industry, isn’t it? 

**PP:** At a basic level, one of our products - Nuke - manipulates pixels to form the images used in the films and tv shows that we all know and love. It’s used pretty widely!

**MO:** Do you ever get to see what your work looks like on the big screen? 

**PP:** No, funnily enough. If we can tell that our tools have been used in a film, we've probably not made the tool as well as we’d like to. I love going to see our customers, that's probably the highlight for me. We're really lucky - they’re some of the biggest VFX houses in the world and seeing what they're doing, and hearing about what they're working on, and being able to work with those guys is a privilege. Being able to tell your daughter that you went to see the people that make Star Wars is a nice feeling.

To read the full interview, [Click here](https://www.client-server.com/blog/2019/06/the-story-meet-foundry-the-company-behind-every-vfx-oscar-winning-film)
Webinar announcement. Implementing a polyglot microservices architecture with Bondy and WAMP.
Tags: erlang, iot, connectedcars, connecteddevices
Published: 2019-06-26 09:01:26

---
title: Webinar announcement. Implementing a polyglot microservices architecture with Bondy and WAMP.
published: true
description: Join our next webinar where Alejandro Ramallo discusses the development of Bondy, a product built in Erlang that currently handles hundreds of thousands of connected cars and home devices. 
tags: Erlang,IoT,Connected cars,connected devices,
cover_image: https://i.imgur.com/be8hAjB.jpg
series: Webinars
canonical_url: https://www.erlang-solutions.com/resources/webinars.html
---

Bondy, is an open source networking platform for distributed microservices and IoT applications written in Erlang. It implements the open Web Application Messaging Protocol (WAMP), an open standard TCP and WebSocket protocol that unifies two application messaging patterns: RPC and PubSub.

In our next webinar Alejandro Ramallo will explain how WAMP works and how it is implemented in Bondy. He will demonstrate how Bondy is used to interconnect the components of an IoT platform that has been in production for 2 years with hundreds of thousands of connected vehicles and home devices.

The webinar will be held on July 10th at 17:30 BST. A recording will be sent to all registrants in the following weeks. Register at [https://www2.erlang-solutions.com/webinarardev](https://www2.erlang-solutions.com/webinarardev)

### 3 key takeaways
-Bondy is an open source implementation in Erlang of a WAMP Router. It is supported in more than 12 programming languages, and supports multiple data encoding formats.
-Bondy uses Partisan for clustering and inter-node communication and an eventually consistency model to replicate its state across the cluster and remains available even during network partitions or cluster node crashes.
-Bondy goes beyond a WAMP implementation and embeds a Role-based Access Control system and a REST API Gateway with a partial implementation of the OAuth2 flows that transforms REST operations to WAMP RPC and PubSub messages and viceversa.