teleren/devto huggingface dataset:
Spread Operator in Javascript
Tags: spread, javascirpt, bangla
Published: 2020-08-29 19:07:57

---
title: Spread Operator in Javascript
published: true
description: Spread operator in bangla
tags: spread, javascirpt, bangla
//cover_image: https://direct_url_to_image.jpg
---
স্প্রেড অপারেটর মূলত এরে(Array) এবং অবজেক্ট (Object) কে স্প্রেড করে । 
যেমন - আমাদের একটা Array আছে নাম্বার (Number)
// spread operator

`const number = [1, 2, 3];`

এখন আমি যদি এই Array টাকে একটি copy বানাতে চাই তাহলে আমি কি করবো ? মানে আগের Array এর ডাটা থাকবে এবং আরও ৪, ৫, ৬ যোগ হবে । তাহলে আমরা নিচের মত করে লিখতে পারি - 

`const newNumbers = [...number, 4,5,6];`

এই টা যখন আমরা স্প্রেড করবো তখন মূলত number টা copy করে newNumbers এর number এ নিয়ে চলে আসবে এবং সাথে 4,5,6 যোগ হবে । 

এখন যদি আমরা এই টাকে দেখতে চাই তাহলে - 
`console.log(newNumbers);`

[Source](https://codepen.io/bipon68/pen/NWNgyZW)
Web Projects to BOOST and STANDOUT Your PortFolio
Published: 2020-08-29 18:59:07

**1. Algorithm Visualiser:**
You can Implement all the algorithms that you have studied and make them visualise through JSX hooks and states..

**Project Link**: *https://github.com/ShubhamChaudharyy/Algorithm-Visualizer*

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

**2.Live Share IDE (with Video Calling and Canvas drawing Sharing Support)**

*Collaborative Coding IDE WebApp*
### *How is it Different...Well 🐒 nothing Unique but here is, what this project has to Offer.*
Visit the Project Here : https://github.com/ShubhamChaudharyy/PeerCode-IDE

You have a Seperate **Canvas Board** where you can discuss your logic by noting them down to that canvas and other user in **RealTime** will also be able to see them. ( Thanks to the Socket.io Library 🌞 )

You can share your Code Link and When other user Edits your code you will be able to see the code manipulation Live.With a Support of Video Calling..

WebApp Shots..

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0woodx24au4krq027ki4.png)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/txd3j7upgjquesthqx9q.png)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ph4bpmnmw7wpag168zoc.png)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/sq36qijypelso5qbaxdu.png)
Who brought us here?
Tags: history
Published: 2020-08-29 18:50:11

I was reading an article for one class in my masters, and there it was, a whole section about who were some of the amazing human beings, that were the precursors of this amazing technology that some of us call computer sciences.

And I know you must be thinking that you know one thing or two but, consider it for a minute, we all know who are Steve Jobs and Bill Gates, even some of us who is Steve Wozniak, but have you heard about Grace Murray Copper, She thought that a programming language could be created, and using commands in English an engineer could build business applications (in that time that was a crazy idea), two years later we had the committee that designed COBOL, and that's not all she is the author of one of our favourites terms "debugging" in 1947.

And she is not alone in being one of those people who created something that we still use today, James Gosling invented in 1995 the Java programming language, which became popular during the last decade and allows thousands of developers create in an easier manner different kinds of applications also, Timothy "Tim" John Berners-Lee who in 1989 implemented the first successful client-server communication via the Internet using Hypertext Transfer Protocol (HTTP), that was our open door for the web as we know it. 

Something that really captivates me is history and through it now I have some new appreciation and love for coding, next time that I'll be working I will be thinking about how amazing are all the tools that we have today that we take for granted, and all those incredible humans that made it happen.
Jina X Hackathon | Sep. 18 - 20, 2020
Tags: hackathon, neuralsearch, ai
Published: 2020-08-29 18:44:49

This three day virtual [hackathon](https://jinaxhackathon.ai?utm_source=hashnode&utm_medium=dev&utm_campaign=shares)  aims to bring together developers, designers and entrepreneurs to solve challenges using Jina, an easier way to do neural search in the cloud.

Join us to test your creativity, network with like minds, and collaborate on real-world solutions incorporating state-of-the-art AI and deep learning technology from Jina.

Sign up and compete to win $11,500 in prizes.

Unleash your curiosity and happy searching!

**Challenge**

Build creative neural search solutions and apps that could solve real world problems or create better user experiences.

To help you with the hackathon, here are some topics that are possible with Jina. Take inspiration and build your own AI solutions using our platform.

*Examples:*

- Use Jina to find memes or gifs by typing in description (image search with text)
- Find a music clip by recording your own voice and searching yourself singing (audio search with audio)
- Find similar paintings (snap a selfie posed as an artwork and see if you match!)
- Product recommendation engine

**Hackathon Website**:  [https://jinaxhackathon.ai](https://jinaxhackathon.ai?utm_source=hashnode&utm_medium=dev&utm_campaign=shares)
Day 10 of 100DaysOfCode
Tags: 100daysofcode, javascript, eloquentjs, freecodecamp
Published: 2020-08-29 18:42:37

Wow, already day 10! I'm loving the journey so far and building up my JS skills! Continued reading the Eloquent JavaScript book and started working on ES6 challenges at FreeCodeCamp. 

Have you started the challenge yourself? If you have, leave a comment telling which day you are on! Happy coding and good luck to everyone!


## What I did today:

###1. Read some Eloquent JavaScript, chapter 6
https://eloquentjavascript.net/06_object.html

#### What I learned from it:
* What are prototypes and classes
* Introduction to object-oriented programming

###2. Started the ES6 challenges at FreeCodeCamp
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/es6/

#### What I learned from it:
* Got more familiar with the differences of let and var

####Time spent learning:
Task 'Reading EJS'. Elapsed time: 27 min 32 s
Task 'FCC'. Elapsed time: 12 min 18 s

#### Total time: 39 min 50 s
Tracked by using my [TaskTimer](https://www.arttupyykonen.com/tasktimer/) script and the [WakaTime app](https://wakatime.com/about)

### Further reading

#### [FreeCodeCamp](https://www.freecodecamp.org/learn)
Check out FCC for the best interactive exercises! I just finished the Basic JavaScript lessons and can recommend them for a beginner! You can read more from the post "Day 8". 

#### [Eloquent JavaScript book](https://eloquentjavascript.net/)

###Psst
You can check my answers to the exercises of Eloquent JavaScript. You'll find them [here](https://www.arttupyykonen.com/ejs-solutions/).

Hope you are having a wonderful weekend! See you all tomorrow!
Job Alerts for Positions, are these good? 
Tags: python, react, vue, django
Published: 2020-08-29 18:36:59

So for “junior web developer”
I have my settings set to 
“Entry, intern, contract”,

The main ones that show up are Java, Python, React also some Angular. 
But the “entry” junior positions have “3-5 years experience” and they also call for experience in different things like having also c#, sql, Apache spring boot ... but it’s “entry” so, what is a type of entry, where someone can learn, and move up? 
-how about working for free?
Quick hack to use multiple instances of Newtek NDI Scan Converter on MacOS
Published: 2020-08-29 18:32:54

---
title: Quick hack to use multiple instances of Newtek NDI Scan Converter on MacOS
published: true
description: 
tags: 
//cover_image: https://direct_url_to_image.jpg
---

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

I'm prepping for some upcoming education sessions and I ran into issue needing multiple NDI video streams out of my mac applications and so I need a way to **overcome the limitation to one single feed of the NewTek NDI Scan Converter App**.

If you stream live from your PC, for Videoconferencing, teaching or gaming, you might already know the free NDI tools from NewTek and the great addition they can be to OBS.

Check NewTek Ndi Tools [Download here](https://ndi.tv/tools/)

This quick post is to showcase how to allow multiple instances of Newtek scan converter to run on Mac. You can then have multiple apps, broadcasted as multiple NDI streams. In the screenshot above you can see 3 NDI feeds, one from an iPhone Cam, one from a Terminal and one from 3D Heavens benchmark, all displayed at once in OBS.

While It's easy to spawn more than one *Scan Converter* App (open -n command line), the NDI stream name is hard coded to "Scan Converter" and therefore the two instances outputs are conflicting (and only one is showing)

So I came up with the following procedure to make things working:

* Duplicate *NewTek NDI Scan Converter* app and rename it to whatever you like (for me bellow *Hacked Scan Converter*)
 
You will need a binary editor, you can get [Hex Friend](https://ridiculousfish.com/hexfiend/)
* Open then App package and look for the app binary: *->Contents->MacOS->NewTek NDI Scan Converter*
* Open it with HexFiend and search for the Hex sequence :  "53 63 61 6E 20 43 6F 6E 76 65 72 74 65 72 00 61 70 70 6C 69 63 61 74 69 6F 6E 4E 61 6D 65" (which is Scan Converter/00applicationName ). This is the string that is used for the NDI stream name.
* Change *Scan Converter* to something like *Hacked Scan 01* (It has to be the **exact** same length)

As we've modified the app, the app signature is now invalid so we'll just get rid of it with:
* codesign --remove-signature '/Applications/hacked Scan Converter.app'

Now we have to change the bundle info so that both app wont interfere in security settings

* edit */Applications/Hacked Scan Converter.app/Contents/Info.plist* and change *
CFBundleName* and *CFBundleIdentifier* values to reflect new name: 

```
<key>CFBundleName</key>
<string>Hacked NDI Scan Converter</string>
<key>CFBundleIdentifier</key>
<string>com.hacked.Application-Mac-NDI-ScanConverter</string>
```
* Start both apps and make sure they have the right permissions in *Security->Privacy->Screen Recording* settings

 You should now see *Scan Converter* and *Hacked Scan 01* NDI sources available in NDI Monitor or other NDI apps. 

Enjoy!

You can repeat the steps above changing the names if you need more than 2 NDI Scan converter app streams simultaneously...
Cracking the Binary Tree Interview
Tags: discuss, career, programming, computerscience
Published: 2020-08-29 18:31:37

---
title: Cracking the Binary Tree Interview
published: true
description: Let me know what you'd like in this guide!
tags: #discuss, #career, #programming, #computerscience
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y8cj4111ap16tjqna0hg.png
series: The Binary Tree Interview
---
Hi everyone!

I recently finished 3 months of interviewing, and I received multiple offers! It was no walk in the park because my data-structures knowledge wasn't the best.

In particular, I was terrible at solving binary tree questions. So I practiced and practiced and practiced until I became confident I could solve almost any binary tree questions on LeetCode/HackerRank.

I want to prepare a guide that explains my process for solving these questions to help anyone struggling in this area or just want to refine their skills.

My question is, what would you expect from a complete guide on solving Binary Tree questions? My working outline so far is as follows:

---

_Foundation_
-Tree DS: class, insertion, deletion, array-based trees
-All Tree Traversals (recursive)
-All Tree Traversals (iterative)
-Tree specific Algorithms

_How to Solve_
-How to determine the type of question and solution (my guide)
-Common gotchas
-20+ Question Solution Explanations

---

Do you feel like something is missing? Please comment on any ideas you have or if you want to receive this guide when it releases! 

I'll be working on this over the coming weeks and releasing it in pieces over twitter and devto. If you want to follow my process and get a behind the scenes look, [follow me on Twitter!](https://twitter.com/abdisalan_js)

<i>Photo by <a href="https://unsplash.com/@zane4004?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Zane Lee</a> on <a href="https://unsplash.com/s/photos/fractal?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></i>
Things you might want to clarify before accepting a Job offer.
Published: 2020-08-29 18:17:51

{% twitter 1299637117233094656 %}

1. will they claim ownership if you release a side project or any product?
2. are you allowed to contribute to open source?
3. do they have clear progression path?
4. do they give you a mentor, if you're a junior?

## Credit - Catalin Pit
Twitter Account -> @catalinmpit
Array Filter Explained
Tags: codenewbie, javascript, beginners, webdev
Published: 2020-08-29 18:01:48

`filter()` method on an array produces a new array with all elements from the input array that pass the test. It takes a callback function with a current element, index and the original array. The last two arguments to the callback (index and array) are optional.

`filter()` is helpful in situations where you need to do some work on every element of the array and find only the elements that satisfy your criteria. Maybe you need all the even numbers from an array of numbers or only words >= six characters.

```javascript
const names = ["Parwinder", "Leah", "Lauren", "Eliu", "Robert", "George", "Eric"];
const output = names.filter(name => name.length >= 6);

console.log(output); // [ 'Parwinder', 'Lauren', 'Robert', 'George' ]
console.log(names); // [ 'Parwinder', 'Leah', 'Lauren', 'Eliu', 'Robert', 'George', 'Eric' ]
```

🚨 `filter()` does not mutate the array. The input array will stay unmodified (see example above).

You can also access the current index of the array in a `filter()`. The callback function takes a second argument for index.

```javascript
const arr = [1, 2, 4, 9, 22, 75, 16];
const filter = arr.filter((current, index) => (current % index === 0));
// return values that are divisible by the index they are on
console.log(filter); // [ 2, 4, 9, 75 ]
```

And if access to index is not enough, you can also get access to the original array as a third parameter.

🚨 `filter` has a second parameter, `this`. It is precisely like the `map` method. It specifies the `this` context for the callback function.
How do color pickers work?
Tags: colorpicker, tutorial, theory
Published: 2020-08-29 17:54:31

# About

In this series, I'll explain the theory and techniques behind color pickers. I'll talk about concepts and link code examples from a [real project](https://github.com/PixiEditor/ColorPicker), which you can download on [NuGet](https://www.nuget.org/packages/PixiEditor.ColorPicker/)

This widget was written for [a pixel art editor](https://github.com/PixiEditor/PixiEditor)

# Introduction to types of color pickers

There are a lot of different approaches to color picking and frankly, there is no perfect solution, every approach has pros and cons. I'll cover the necessary theoretical knowledge, so you could build your own.

Ready to go? Awesome! Let's start with [color theory and a single panel HSL color picker](https://dev.to/flabbet/how-does-color-pickers-work-hsl-panel-2ff6)
Array Reduce
Tags: javascript, beginners, codenewbie, webdev
Published: 2020-08-29 17:49:53

`reduce()` method on an array produces a single value by applying a reducer function to every element of the input array. It takes a callback function with an input array, an accumulator (it is maintained throughout the loop), current value, and index.

`reduce()` is helpful in situations where you need to do some work on every element of the array and produce one result. Maybe you need to add every element of an array.

```javascript
const arr = [2, 4, 9, 22];
const reduce = arr.reduce((final, current) => final + current);
console.log(reduce); // 37 (2 + 4 + 9 + 22)
```

Here `final` is the accumulator in which we keep adding all the values of the original input array. `current` denotes the current value of the loop.

You can also access the current index of the array using a map. The callback function takes a second argument for index.

```javascript
const arr = [2, 4, 9, 22];
// we will add all numbers as well as their indices
const reduce = arr.reduce((final, current, index) => final + current + index);
console.log(reduce); // 43 (2 + 0 + 4 + 1 + 9 + 2 + 22 + 3)
```

And if access to index is not enough, you can also get access to the original array as a fourth parameter.

🚨 Unlike `map()`, `reduce()` does not change the original array.

We will go over one more example to understand the power of `reduce` and the situations it could be used in. We will flatten an array without the use of `flat` method.

```javascript
const flatArray = (arr) => {
    let output = [];
    return arr.reduce((final, value) => {
        // use recursion, if value then concat to our final array else call flatArray again with the child array
        return final.concat(Array.isArray(value) ? flatArray(value) : value);
    }, output);
}

const input = [1, 2, 3, [10, 11, 12], 21, 22, 23, [31, 32, 33, 34], [41, 42]];
console.log(flatArray(input)); // [ 1, 2, 3, 10, 11, 12, 21, 22, 23, 31, 32, 33, 34, 41, 42 ]
```

🚨 `reduce` has a second parameter, and it is not the `this` context like a `map`; instead, it is the initial value to start with!

Look at the example above and see that we have provided the initial value as `output`. If no value is provided, it takes the first element of the array as the initial value, technically starting the loop from the second value of an array.
Hostinger Coupon Code
Tags: hostinger, hostingercoupon, hostingerpromocode, hostingerdiscount
Published: 2020-08-29 17:45:43

Hostinger is fastest growing hosting provider. It is founded in the year of 2004.

Hostinger offers many hosting services like shared hosting, business hosting, premium hosting, VPS Hosting, cloud hosting and website builder.

#Hostinger Plans
## Hostinger Shared Hosting
Single Shared Hosting - Ideal solution for beginners
$0.99/mo
Premium Shared Hosting -Perfect package for personal websites
$2.89/mo
Business Shared Hosting - Optimized for small businesses
$3.99/mo
Do you want to save some extra money then use [Hostinger Coupon](https://hostmenot.com/).

##VPS Hosting
1 vCPU - (Price - $3.95/month)
2 vCPU - (Price - $8.95/month)
3 vCPU - (Price - $12.95/month)
4 vCPU - (Price - $15.95/month)
6 vCPU - (Price - $23.95/month)
8 vCPU - (Price - $29.95/month)

###VPS hosting platform features
SSD Disk Drives
100 Mb/s Network
Dedicated IP
Full Root Access
IPv6 Support
30-day money-back guarantee

##Hostinger Service in India and other countries
Hostinger provides service to worldwide. It is having large number of clients in India, Australia, Brazil, USA, Spain and Indonesia.
You can also use [Hostinger Coupon Code India](https://hostmenot.com/hostinger-coupon-code-india/) to get discount if you are buying from Hostinger India.

For other countries coupons are
1. [Kode Kupon Hostinger](https://hostmenot.com/id/kode-kupon-hostinger/)
2. [Código cupón Hostinger](https://hostmenot.com/es/hostinger/)
3. [giảm giá Hostinger](https://hostmenot.com/vi/ma-giam-gia-hostinger/)
Javascript: export and export default
Tags: javascript, codenewbie, womenintech
Published: 2020-08-29 17:42:43

Another important concept in JavaScript, export statement is used for exporting objects,functions and primitive values from the model that can be used by other programs using import statement. Export statement are in a strict mode always.
There are two types of experts
a. Named Export (zero or more per module)
b. Default Export(only one per module)

### Named Export

You can have multiple export per modules. Export is used to export multiple variables. While importing, the name must be similar to corresponding object.
<code>export let name1,name2,name3,..;</code>

<code>export let name1=..., name2=..., name3=...;</code>

<code>export let {name1, name2, name3};</code>

<code>export const function myfunction(){
...
}
</code>
<code>export class MyClass{
...
...
}
</code>

We can also rename export to avoid naming conflicts.

<code> export name1 as my variable;</code>


### Default Export

You can have only one export default per modules. Default exported object can be imported with any name.

<code>export default name1</code>
<code>export default function myfunction()</code>

###Re-exporting and Re-importing

It is possible to re-export a function from a module to another module. We want to export variable from multiple modules to a parent modules and then use parent modules to export the imported variables further to other variables. Parent module will be completely used as a port to gather data from multiple modules and then further transport data to other modules.

### export from

We can use *export from*, to export variables from parent module, which is in turn importing from multiple modules. 
Consider childmodule1 is exporting a variable *myvar* and childmodule2 is exporting a function *myfunc*. Then we have a parentmodule which is importing from both the modules.

<code>import {myVar} from childmodule1;</code>
<code>import {myfunc} from childmodule2;</code>

And now we need to export from this module to be further used by other modules.

<code>export {myVar} from childmodule1;</code>
<code>export {myfunc} from childmodule2;</code>

That's all about export and export default. Hope it might have enlightened the concept.


Happy coding!