teleren/devto huggingface dataset:
Apache NiFi 1.12 Released! 18-August-2020
Tags: 2020, apachenifi
Published: 2020-08-20 17:05:57

---
title: Apache NiFi 1.12 Released! 18-August-2020
published: true
date: 2020-08-20 17:05:00 UTC
tags: 2020,apachenifi
canonical_url: 
---

# Apache NiFi 1.12 Released! 18-August-2020

**Release Notes**

[https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-Version1.12.0](https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-Version1.12.0)

**Issues**

[https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316020&version=12346778](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316020&version=12346778)

**Major Feature List**

[https://twitter.com/pvillard31/status/1296469452180119553](https://twitter.com/pvillard31/status/1296469452180119553)

**Release Date: August 18, 2020. **

**Major Features:**

- New processor to write **scripted record transforms** live in the flow ( **ScriptedTransformRecord** )
- Expose a **REST Endpoint** for easy metric scraping by Prometheus
- Ability to **specify group level flow file concurrency** - for instance run a single flow file end to end for traditional job handling
- Improved several capabilities related to **Azure** service interaction including **ADLS Gen2 **
- Improved **AMQP** and **MQTT** support as well as **JMS** improvements
- Support for latest **Kafka 2.6** clients
- Search UI Improvements

I will be posting a few demos and test drives soon.
JS Quiz
Tags: javascript, codenewbie, 100daysofcode, webdev
Published: 2020-08-20 16:42:47

What is the output of this code?
with explanation (comment your answers)
var sum=0; 
for(i=4; i<8; i++) {
  if (i == 6) {
    continue; 
  }
  sum += i;
}
document.write(sum);
Getting Started with Freelancing with Kyle Prinsloo | Web Designers and Developers
Tags: javascript, webdev, tips, coding
Published: 2020-08-20 16:21:10

---
title: Getting Started with Freelancing with Kyle Prinsloo | Web Designers and Developers
published: true
tags: javascript,webdevelopment,tips,coding
---

LIVE 6PM+1GMT or watch the replay below. 
{% youtube 0gmH1WMnOq4 %}

Maybe you want a little extra income or to start your own business.

I will be having a chat with the awesome Kyle Prinsloo on how to start your own freelancing business in this event.

Kyle helps web designers and developers launch and grow their own freelancing business. 

Kyle has an awesome story and I'm really excited to be able to chat with him about his experience and learn from him. 

This chat will be very unscripted and open to YOUR questions so we are hoping it will be very interactive. 

You can find Kyles course here:
https://studywebdevelopment.com/freelancing.html

He also has an awesome podcast here:
https://studywebdevelopment.com/podcast.html

Follow Kyle on Twitter here:
https://twitter.com/study_web_dev

Hopefully will be useful to all levels, beginners are welcome. 💜

Prerequisites:

- A cheerful and inquisitive attitude

---

[Follow me on Twitter](https://twitter.com/nialljoemaher)

Subscribe on [Codú Community](https://www.youtube.com/c/Cod%C3%BACommunity)
3 Features To Look For In a DNS Provider
Tags: dns, webdev, devops
Published: 2020-08-20 16:05:57

---
title: 3 Features To Look For In a DNS Provider
published: true
description: 
tags: dns, webdev, devops
canonical_url: https://www.levizitting.com/blog/2019-04-16-3-features-to-look-for-in-a-dns-provider
---

There are countless DNS providers out there. Most of them make it easy enough to create and update the various records associated with your domains, but there are a handful of features that can make a DNS provider go from decent to amazing.

#### TTL Limit

Most DNS providers give you the option to adjust the TTL your domains DNS record. This value tells other DNS servers how long to cache the record for. When changing the value of a record it can be handy to set the TTL to be very low sometime before adjusting the record's value so you see the change much faster. There are some DNS providers that won't let you set this value to be very low. For instance, Network Solution's lower limit for TTL values is one hour, which has caused me plenty of issues in the past trying to point records towards new resources. As a rule of thumb, 5 minutes as a lower limit is a good balance between the speed of changes and cacheability.

#### Web forwarding.

There are plenty of scenarios where you may want to have traffic redirected from one domain or subdomain to another. (e.g [blog.mydomain.com](http://blog.mydomain.com/) to [myotherdomain.com/blog](http://myotherdomain.com/blog)). One way to handle this is to point the domain at a web server or web application and handle the redirect there. However the easiest way, if your DNS provider has the feature, is to use web forwarding. Most DNS providers that support web forwarding make it fairly simple, just choose the domain or subdomain you want to redirect and then choose the URL you want traffic to be directed to. This lets you avoid having to set up any additional redirects to handle simple redirects.

#### ALIAS, ANAME, Virtual CNAME records

A tiny, annoying limitation in the DNS spec is that the [root record for a domain can't be a CNAME](https://medium.freecodecamp.org/why-cant-a-domain-s-root-be-a-cname-8cbab38e5f5c). This can be incredibly frustrating when trying to point a record towards a resource such as an AWS Application Load Balancer. Resources like these don't always provide an actual IP for an A record to use, instead, they usually provide some other DNS name and expect you to create a CNAME record to direct traffic at the resource. Due to this DNS limitation, you would have to have traffic go through a subdomain (such as www) and have traffic to the root domain be redirected to the subdomain. (using something like web forwarding or a redirect server with a static IP)
However, some DNS providers offer workarounds to this DNS limitation through nonstandard record types. The most popular of these are ALIAS, ANAME, or Virtual CNAME records. These records are used exactly like traditional CNAME records. Behind the scenes, the DNS provider will resolve the record's value to the actual IPs and present them to the outside world as A records.
Why we open-sourced our company
Tags: dart, flutter, opensource, design
Published: 2020-08-20 15:48:25

I like getting things done quickly, not just for the sense of accomplishment, but because I know I can also move on to other projects and collaborations in the wings. Since I was a kid, however, I heard that speed was dangerous, that it inherently meant cutting corners. “Isn’t it good enough?” I’d ask my mom after a quick, hacked attempt at making my bed. “If you’re going to do something, do it well,” she said. I thought my bed was perfectly fine. She did not.

I learned that we did not have a consensus on quality.

And quality is critical to what we do at my company, Parabeac. The short version of our story is “we take design files and convert them into Flutter code”. Our tool is push-button, automatic, and fast, so fast that my Mom would be suspicious. But the converted code has to be good, too; not just efficient in execution, but effective. In building and refining the tool we spent much of our time prioritizing: speed vs. quality, simplicity vs. intricacy, urgency vs. importance, and essential features vs. desirable features. Although we can answer these questions ourselves and produce something good, if we enable the community to build with us, we can produce something great.

Fortunately, because we are in the business of building tools for the designer/developer suite, who better to help us reach consensus on the quality of what we produce than the community of developer colleagues around the world?  Who better to define the product than the folks who are using the code every week? Open-sourcing is an elegant, friction-free way of enabling users to chime in on what a tool should look like, feel like, and do. Every day is a constant referendum on what we are building together, and the votes come from individuals who are changing, configuring, and improving the code, from Indiana to India.

We open source because products like this need the compounded genius of people working in the community. Parabeac’s conversion tool can’t just be what I think is best (ask my Mom) or even what the Parabeac team does. It needs to reflect the ever-refreshed consensus global user base. Achieving that consensus on quality is the single most important objective for our young company, and to reach that point we decided we must give control of our tool to the community of Flutter advocates & Parabeac evangelists.  
So, welcome one and all.  Now I can tell my mother that the bed is well-made, with input and wisdom from many.

[https://github.com/Parabeac/Parabeac-Core](https://github.com/Parabeac/Parabeac-Core)

*(Parabeac’s design-to-Flutter open-source conversion tool was released on August 19, 2020)*

<a href="https://www.producthunt.com/posts/parabeac?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-parabeac" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=238516&theme=light" alt="Parabeac - Open-source design to Flutter converter | Product Hunt Embed" style="width: 250px; height: 54px;" width="250px" height="54px" /></a>
Custom React hook to track the mounted status of a component
Tags: react, javascript, hooks
Published: 2020-08-20 15:47:03

---
title: Custom React hook to track the mounted status of a component
published: true
description: This custom React hook allows you to check whether the component is still mounted before setting the state in order to avoid React state updates on unmounted components.
tags: react, javascript, hooks
---

Have you ever gotten this error:

> Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.

As the message implies, you're probably setting state asynchronously in a `useEffect` hook that you aren't cleaning up properly.

If for some reason you can't cleanup or clear the timeouts properly, you can use the following hook to verify just before setting state if the component is still mounted.

```javascript
// useIsComponentMountedRef.js
import { useEffect, useRef } from 'react';

const useIsComponentMountedRef = () => {
  const isMounted = useRef(true);

  useEffect(() => {
    return () => {
      isMounted.current = false;
    };
  }, []); // Using an empty dependency array ensures this only runs on unmount

  return isMounted;
};

export default useIsComponentMountedRef;
```

...and to use it:

```javascript
import useIsComponentMountedRef from './useIsComponentMountedRef';

const MyComponent = () => {
  const isMountedRef = useIsComponentMountedRef();

  // ex: isMountedRef.current && setState(...)
};
```
How to Fix Git fatal: The current branch has no upstream branch
Tags: howto, programming, software, git
Published: 2020-09-10 15:26:12

---
title: How to Fix Git fatal: The current branch has no upstream branch
published: true
date: 2020-08-20 15:44:38 UTC
tags: HowTo,Programming,Software,git
canonical_url: https://vancelucas.com/blog/how-to-fix-git-fatal-the-current-branch-has-no-upstream-branch/
---

If you constantly get the following git error message after attempting a `git push` with a new local branch:

```
fatal: The current branch <branchname> has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin <branchname>
```

Then the issue is that you have not configured git to always create new branches on the remote from local ones.

The permanent fix if you always want to just create that new branch on the remote to mirror and track your local branch is:

```
 git config --global push.default current
```

Now you can `git push` without anymore errors!
My preparation to TCS Codevita
Published: 2020-08-20 14:42:16

---
title: My preparation to TCS Codevita
published: true
description: Preparation I have gone through for TCS Codevita
tags: 
//cover_image: https://direct_url_to_image.jpg
---
What is TCS Codevita ?
---
*TCS CodeVita, is a contest for engineering and science students to experience the joy of coding and to sharpen their programming skills through real-life computing practices. The contest also aims at identifying the talent, besides providing the student community, an opportunity to earn peer recognition.*
        
>TCS conducts a coding exam for coders to let out an showcase their programming skills across the globe.Codevita majorly fcuses on the problem-solving skills of the participant.

---
How do i even get to know that there is an exam like Codevita ?
---
Tcs Campus commune is hectic active in promoting CODEVITA.I have received a mail from Campus Commune about Codevita and i got interested about the format of the exam and just googled about it.

---
>And Then..
---
and then i just tried one of the past problems of codevita.
I am able to solve the one question which is named as "NumberGame"
and it's a little tricky but, when i learnt about the concept i thought it is easy.I get to know that is the first question in Codevita contest. And , the truth is```First questions in Codevita are said to be pretty easy and they don't involve any dynamic-programming stuff```
 
---
How did I get my material for Codevita ?
---
Firstly , there is nothing called **MATERIAL** for codevita as far i know.But there are many platforms in which you can practice the previous problems of codevita and have a glance about the pattern of Codevita. Learning how to write basic syntaxes in programming languages we are comfortable with is always the basic prerequisite for the preparation of codevita.

---
>```Geeks for Geeks have all the previous problems of Codevita```

>I have started to solve the problems in Geeks for Geeks and i am stuck at a problem and searched for a related video of explanation and i get to know about EDYST.
I have enrolled in edyst's Codevita programme.I have practised all the questions which are in the edyst platform.
It gave me a basic idea of how to approach to questions which involves dynamic programming.
I had no idea about how time complexity and space complexity works.After solving some questions i get to understand how BigO notations works and how space while execting the code is used efficiently.

---

Mocktests..
---
Mocktests are conducted by codevita.
```Mocktests conducted by codevita are very important and we also have an advantage of getting familiar with their platform and how it works.```
Digital Marketing 
Tags: digitalmarketing, seo, smm, ppc
Published: 2020-08-20 15:37:32

Digital Marketing is one of the best careers in 2020 and in the feature. Many people were eaten up to 1 lake in a month. 
the best part of digital marketing is you always learn to think in this area or domain.
if you want to learn [Digital marketing](https://seoinfo.in/)  then visit seoinfo.in
Modifying Input Error Messages with jQuery
Published: 2020-08-20 14:54:13

I recently needed a way to change the language and the content of the error messages in my web app using jQuery.

Suppose an image is required to upload in a form.
The default message would be like the one below, `Please select a file`.

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

However, you might not like the content of the message or the language of the message. Add the following jQuery code to your file.

Make sure to change the id of the file (which in this case is `myform`) to your own form id.

```
$('#myform input[type=file]').on('change invalid', function() {
    var textfield = $(this).get(0);
    
    // 'setCustomValidity not only sets the message, but also marks
    // the field as invalid. In order to see whether the field really is
    // invalid, we have to remove the message first
    textfield.setCustomValidity('');
    
    if (!textfield.validity.valid) {
        textfield.setCustomValidity('画像は添付してね！ At least one image is required for this form!');  
    }
});
```
Bubble Sort
Tags: javascript, algorithms
Published: 2020-08-20 14:50:39

Hello Dev Community,

Happy to share my very first article. I recently started with #100DaysOfCode on Twitter. I got to meet awesome developers who were very good & unique.

Often saw many people sharing useful information for free to help fellow newbies & developers. This got me thinking, I haven't done much for the dev community and this article is just a brainchild.

I will try to go through one of the sorting algorithms (easiest to catch) that I learnt so far in the past few days.

Before we move on any further, I just want to say, it's easy!

We will start with the classic **Bubble Sort** algorithm

You can go through this video from HackerRank to get a hint on how it works?

https://www.youtube.com/watch?v=6Gv8vg0kcHc

In Bubble Sort, we compare two of the adjacent element and swap their places. Upon one successful iteration over the elements, you will get the largest of the number on the right-hand side of the array. We will not touch the sorted element (right-hand side) on the successive iteration.
You have to repeat the same until your array is sorted.

Below is a pure function based implementation

```
function bubbleSort(iterarr){

    if(!Array.isArray(iterarr)){ // Checking given input is a valid array
        console.error('Not an array!');
        return;
    }

    let arr = [...iterarr]; // Copied the array elements using spread operator
    
    if(arr.length == 1){
        return arr; //If array has only one element it's already sorted
    }

    let isSorted = false; //Assuming the array is not sorted

    while(!isSorted){ //Loop breaks if the array is sorted
        isSorted = true; //Assuming the array is sorted
        for(let i = 0; i < arr.length - 1; i++){ //Loop for iterating through elements
            if(arr[i] > arr[i+1]){ //Trying to check which of the element is bigger current(i) or the next element(i+1)
                let temp = arr[i];
                arr[i] = arr[i+1];
                arr[i+1] = temp; //Above 3 lines does the swapping using the temp variable
                isSorted = false; //If swap happens that means array is not sorted yet
            }
        }
    }
    return arr;
}
```

Though this is not an optimal sorting method, it's one of the easiest.

I hope you like this article. Please share any comments if you have, I will try to address them one step at a time.

Thanks,
Sudharsanan Ravichandran
Reports performance improvement
Tags: rails, ruby, database, sql
Published: 2020-08-20 14:42:18


Are you tired of fighting with the performance of your reports and overloading your database? 

![Fight] (https://media.giphy.com/media/q1MeAPDDMb43K/giphy.gif)
Well, here I bring you a really simple Rails 6 solution!

- Use new Rails6 Multiple Databases configuration
To do so you can check my other [post](https://dev.to/fedeagripa/rails-6-multiple-databases-337k)

- Switch your reports to use the replica database

As an extra you can also use `readonly_slow`:
```ruby 
ActiveRecord::Base.connected_to(database: { readonly_slow: :replica }) do
  # runs a long query while connected to the +replica+ using the readonly_slow role.
  User.run_a_huge_query
end
```

- Voila, that's all!
![voila](https://media.giphy.com/media/13CoXDiaCcCoyk/giphy.gif)
🔥 How to Configure Allure Report to Rest Assured API Automation Project?
Tags: testing, tutorial, beginners, webdev
Published: 2020-08-20 14:39:56

In this video of Rest Assured For beginners, We are going to configure allure report to rest assured project.

✅ Rest Assured Masterclass (build your Own API Automation Framework from Scratch even as a complete beginner
 👉 https://apitesting.co/enroll


{% youtube utYxnUUcdes %}


✅ What is Allure Report
 flexible and lightweight test reporting tool 
 concise representation of test execution in a very intuitive web report
 
✅ How to Add Allure to Rest Assured Project?
 Install local
  ```For Mac. - brew install allure```  
  ```For Windows - scoop install allure```
  
 To add the Allure with TestNG Project
  
Example with TestNG File
 Demo
 https://go.scrolltest.com/1pfW
✅ Allure annotations
 @Epic
 @Features
 @Stories/@Story
 @Severity(SeverityLevel.BLOCKER)
 @Description("In this cool test we will check cool thing")
 @Step
 @Attachment
 @Link
 
✅ If you want to learn End to End RestAssured MasterClass
 https://apitesting.co/enroll
 Ping me for discount over - scrolltest.com/fb

✅ 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
Backdrop Filter in CSS
Tags: css, html, webdev, tutorial
Published: 2020-08-20 14:36:42

Glassdoor like CSS effects, creating cool blur's between the background and an element? **Backdrop-Filter** is a CSS property that can perform such magic similar to what you might find on Apple devices.

I created a quick tutorial that gives you a summary of what it is and how it works in ~5 minutes.

{% youtube wiIbol5tZaI %}
<center>[Youtube: Backdrop Filter in CSS](https://youtu.be/wiIbol5tZaI)</center>

Summary of what to expect:
* What is Backdrop Filter
* How to apply Backdrop Filter
* Styling Backdrop Filter

## Follow and support me: 
Special thanks if you subscribe to my channel :)
* [🎞️ Youtube](https://www.youtube.com/channel/UCvM5YYWwfLwpcQgbRr68JLQ?sub_confirmation=1)
* [🐦 Twitter](https://twitter.com/adrian_twarog)

## Want to see more:
I will try to post new great content every day. Here are the latest items:
* [Adobe XD to Fully Responsive WordPress Site](https://dev.to/adriantwarog/adobe-xd-to-fully-responsive-wordpress-site-16e0)
* [Adobe XD to HTML Full Process](https://dev.to/adriantwarog/adobe-xd-to-html-full-process-ao6)
* [Full Tutorial on how to use SASS to improve your CSS](https://dev.to/adriantwarog/full-tutorial-on-how-to-use-sass-to-improve-your-css-57on)
* [Creating a Mobile Design and Developing it](https://dev.to/adriantwarog/creating-a-mobile-design-and-developing-it-5c4o)
WYSIWYG rich text editor with ajax gallery
Tags: wysiwyg, php, jquery, mysql
Published: 2020-08-20 14:36:21


# Having an editor like WordPress Editor in our new project is extremely fun. 

Demo: [Demo](https://adeleyeayodeji.com/ajaxgallery/)

With my new customized PHP Editor you can:
- Upload images from computer 
- Drag and Drop Support
- Delete function support
- Multiple Delete function support
- Multiple image upload accepted
- You can also contribute to better UI and Experience

Demo: [Download](https://www.biggidroid.com/product/simple-wysiwyg-editor-with-ajax-gallery/)
My submission to the GitHub Actions x DEV Hackathon | Automatic upload to Google Cloud Storage with GitHub Actions
Tags: actionshackathon, github, opensource
Published: 2020-08-20 14:29:55

---
title: My submission to the GitHub Actions x DEV Hackathon | Automatic upload to Google Cloud Storage with GitHub Actions
published: true
description: My submission to the GitHub Actions x DEV Hackathon!
tags: actionshackathon, github, opensource
---

### My Workflow

This workflow uploads files to Google Cloud Storage. I use it for uploading my static personal web site, which is hosted from Cloud Storage, but it could be adapted for any use case. Simple modifications could make it work for other providers, too...

### Submission Category: 

DIY Deployments

### Yaml File or Link to Code

{% github bshaw/sha.ws %}

### Additional Resources / Info

I posted about this recently, so why not submit it!?

{% post https://dev.to/bshaw/automatic-upload-to-google-cloud-storage-with-github-actions-mj0 %}