teleren/devto huggingface dataset:
Recruiters, please stop spamming on Linkedin 🚫 - try to listen instead.👂
Tags: career, watercooler, discuss, jobsearch
Published: 2019-12-16 09:23:15

###If you are a tech recruiter, this is the key take-away for you:

### **We, developers, hate the generic emails / LinkedIn messages that you send.**

It doesn't matter that *"it is a great career opportunity at an international company"* or that *"the project is a new product written in the state of the art technologies"*

We are skeptical to those messages because they show that **you just do a spray and pray approach**🙏 and don't really care about the recipient. 

I mean, why do you think I would change the job just 4 months after joining the current company?

This spammy approach probably works on a bigger scale if you send hundreds of such messages but **you can do better.**

###How?

Simply ask the developer: 
- How are you doing at your current role? 👨‍💻
- What are your career goals? 🎯
- Which project might interest you? 😍

Take it from there with those who reply and **try to give them valuable career advice** instead of pushing yet another job offer.

It might be hard to switch to this mindset:
- You need some technical knowledge and being up to date with the perspective technologies
- It might be that your current project does not fit well to the developer you are talking to
- Still, not many developers will reply anyway (that's how it is)

**But, if you build just a couple of those genuine relationships, you will not have a hard time finding the people in the future (especially from recommendations)** 🏆

###Please share your thoughts - especially if you are a recruiter!
Using React - Context vs Redux
Tags: react, redux, beginners, tutorial
Published: 2019-12-16 09:18:16

Working with React, at some point would make you think there has to be a better way to manage your states across your application - well yes, Redux (walking in with some Pyro effects) Redux allows your manage your states through our your entire App using reducers. It also allows you create action creators, which automates the operations you perform on your states - not to mention a super useful plugin that helps you debug your react apps running on Redux

But here's the catch (not really) setting up redux can be somewhat tedious, you would have to install 2 dependencies, create your action creators, create your reducers then create your store. As a matter of fact, most blogs would advice you use redux only for complex and large apps, using Redux for a simple app without much logic is like Trump telling us to read the transcript (totally unnecessary)

So what that being said, when Context was introduced as a replacement (substitute maybe) for redux, there was jubilation all round, but like Trump after a couple years, allot are disappointed, but why? Well you see, context doesn't really replace redux. It's only gives you a pipe for you to pass your props to grand children of your App

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/uv94hijxo6xyuca488yr.png)

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/eq7ql5idbrsvyd06bytr.png)

It doesn't create a store neither does it facilitate action creators, not to mention the complex implementation and nasty code you create with it, especially when you are attempting to pull out multiple resources from connect to your App

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/j5gt9tr9ab1caiuiw1cq.png)

OH did I mention, you have to create 2 components when using connect? One to create and 1 to use - the Provider and Consumer component(face palm) 

But with all disappointments, there are still some who see it as a blessing. So you might ask which way should you go? I think that's left for you to decide after reading this post :)
Project Management Resource Templates/Tools for Project Managers
Tags: project, management, resourcetemplates
Published: 2019-12-16 09:14:49

Open new ways of success for your career through getting online masters degree in project management which has a great scope ahead in the market. PMP certificates online are another way to reduce down critical situations when you are unable to sound good employment even after reasonable education background. Greater competition in observed in market for jobs as various individuals are available for same designation in the companies.
Brands are looking for individuals who are having degrees which ensure they can deal with critical complications and situations which ensure project accomplishment as well as best use of available resources. They are looking for people with background in ProjectsManagement.net so that they can manage finance of the company efficiently.

Project Management Documentation Template 

Some of the core benefits for individuals with this degree are added here:

1.	They are able to find good employment opportunities worldwide.
2.	Can be selected on basis of their skills.
3.	An online master in financial management ensures that they can manage the banking and investment matters of company efficiently applying knowledge they learned during the course.
4.	Can be selected among number of individuals on basis of their talent and enhanced skills for project management.

https://www.projectsmanagement.net/

If you are already doing a job and looking forward to get this degree to make increase career opportunities, it is difficult to practice a schedule attending regular classes, therefore financial online programs are given priority as classes can be taken online from the home. Some of the courses are also offering more convenient program for students.
Deploy Static Frontend + PHP Files Using ZEIT Now
Tags: php, deployment, static, serverless
Published: 2019-12-16 09:10:12

---
title: Deploy Static Frontend + PHP Files Using ZEIT Now
published: true
description: 
tags: php, deployment, static, serverless
---

I am quite a fan of [ZEIT](https://zeit.co) company and even more of their tool called [Now](https://zeit.co/now).

I consider myself mainly as PHP developer, but I also like JavaScript. In these days static site generators are raising and I am totally into it.

So how to take advantage of static frontend but with dynamic backend written in PHP?

Since November 2019 it's simple as possible with [ZEIT Now](https://zeit.co/blog/customizing-serverless-functions).

{% twitter 1204374619433635841 %}

👀 https://imgur.com/V7CcInl

------

Minimal project structure looks like this, you gonna need only 3 files.

```
project/
├── api/
│   ├── index.php
├── now.json
└── index.html
```

File **index.html** contains static frontend.

```html
<html>
<head></head>
<body>

#
# Fetch data from /api/index.php using Fetch API
#

</body>
</html>
```

File **api/index.php** contains dynamic data or expose API endpoint.

```php
<?php

header('conten-type: application/json');
echo json_encode(['tech' => 'ZEIT Now']);
```

File **now.json** setup deployment.

```json
{
  "functions": {
    "api/index.php": {
      "runtime": "now-php@0.0.7"
    }
  }
}
```


Finally you can call `now` command and see what happened.

View this [example on Github](https://github.com/juicyfx/now-examples).
PHP jQuery form formData 30: input text textarea radio using ajax ($.ajax)
Tags: php, jquery, form, ajax
Published: 2019-12-16 09:06:43

<hr />

<center>Happy Coding</center>

<hr />

index.php

		<form method="post" action="process.php" >

			Firstname: <input type="text" name="firstname" />
			<br />

			Lastname: <input type="text" name="lastname" />
			<br />

			Description: <textarea name="description" rows="10" cols="50" ></textarea>
			<br />

			Gender:
			<input type="radio" name="gender" value="male" checked /> Male
			<input type="radio" name="gender" value="female" /> Female
			<br />

			<hr />

			<input type="submit" value="Submit" />

		</form>

		<hr />


display result form server

		<div id="output"></div>

get formHTML element and add onsubmit event, and create formData, then call ajax function with arguments formHTML, formData and output display ("#output") 

		<script>

			/* submit form */

			// https://api.jquery.com/jquery.each/
			/*
			 *	array.each( function( index, element ) )
			 *	$.each( array, callback )
			 */

			// https://www.w3schools.com/jquery/misc_each.asp

			/* get all form */
			$( "form" ).each( function () {

				/* each form add onsubmit event */
				$( this ).bind( "submit", function (event) {

					event.preventDefault(); // return false


					var formHTML = event.target; // $( this ) => not work !!

					console.log( formHTML ); // formHTML element


					// https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects
					var formData = new FormData( formHTML );

					console.log( formData );


					// https://api.jquery.com/jquery.ajax/
					// https://www.w3schools.com/jquery/ajax_ajax.asp
					// https://www.w3schools.com/jquery/jquery_ref_ajax.asp

					/* AJAX request */
					ajax( formHTML, formData, "#output" ); // ajax( form, data, destination )

				} );

			});

		</script>

ajax function

		<script>

			function ajax( form, data, destination )
			{

				$.ajax({

					method: form.method,
					url: form.action,

					data: data,

					/*
						result type data
						JSON.parse(data)
						http://api.jquery.com/jQuery.ajax/
						https://stackoverflow.com/questions/14322984/differences-between-contenttype-and-datatype-in-jquery-ajax-function
						https://forums.asp.net/t/2087039.aspx?what+is+difference+between+dataType+and+contentType+in+jquery
					*/
					dataType: "HTML",

					/* formData */
					contentType: false, // formData with $_POST or $_FILES in server (PHP)
					processData: false

				})

				/* handle success */
				.done( function(result) {

					$( destination ).html( result );

					console.log(result);

				} )

				/* handle error */
				.fail( function(error) {

					alert("Cannot Set Data!");

					console.error(error);

				} );

			}

		</script>

<hr />

process.php

    echo "<pre>";

    var_dump($_POST);

    echo "</pre>";

<hr />

Demo <a href="https://repl.it" >repl.it</a>

<ul>
  <li><a href="https://repl.it/@antelove19/jQuery-form-formData-30" >Editor</a></li>
  <li><a href="https://jquery-form-formdata-30.antelove19.repl.co/" >Live</a></li>
</ul>

<hr/>

<center>Thank for reading :)</center>

<hr/>
[Devmates.co] Jumps with Boost by 🏢Microsoft
Tags: challenge
Published: 2019-12-16 09:01:41

Hello👋, 
*My name is [Alex](https://twitter.com/alexwawl) and I'm maker of [Devmates.co](https://devmates.co).* 😊

*We are resolving daily coding problems which asked by top tech companies together. We share our solutions, give some help if anyone stuck, support each other and just hangout together in the internet.* 🍻☕️💬

*I get this problem from our members or just searching them in the internet(leetcode forums, Glassdoor, teamblind, etc.). Sometimes this problem can be very easy, sometimes too 👷‍♂️hard, everything depends on skills but we are trying to resolve all of them and Have Fun.*  🙌 

Today I want to [share problem](https://devmates.co/home/problems/-LwCkXibaMAhoEDDRsEv) which was asked by 🏢Microsoft.

#####Problem:
Given an array containing numbers 1 to n where array[i] = i+1.

Find the minimum number of jumps required from arr[0] to arr[n-1].

 * From current position i, we can jump to positions i+1, i+2, i+3 and I+4

 * There are optional boosters given in the form of an object like - {1: 15, 5: 10} which means, if we reached at index 1 we can directly jump to index 15 similarly, if we reached at index 5, we can directly jump to index 10.

#####Example:
  __Input__: 
    arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
    boosters  = {3: 8, 5:10}
  __Output__: 4
  __Why__: (1 -> 5 -> 10 -> 14 -> 15)

[Link to the Problem](https://devmates.co/home/problems/-LwCkXibaMAhoEDDRsEv)


🙌 Don't hesitate to share your solutions directly on [devmates.co](https://devmates.co)
Getting Started with Blazor - Experts Panel Discussion
Tags: news, blazor
Published: 2019-12-29 00:10:15

---
title: Getting Started with Blazor - Experts Panel Discussion
published: true
date: 2019-12-16 09:00:00 UTC
tags: News,Blazor
canonical_url: https://chrissainty.com/getting-started-with-blazor-experts-panel-discussion/
---

 ![Getting Started with Blazor - Experts Panel Discussion](https://chrissainty.com/content/images/2019/12/blazor-panel-discussion-2.jpg)

Recently I was asked to be part of a panel discussion on Blazor by [Ed Charbeneau](https://twitter.com/EdCharbeneau), Senior Developer Advocate at [Progress](https://www.progress.com/). I'll talk about Blazor at literally any opportunity so I, of course, said yes!

The panel was made up of some great people. First, there was [Daniel Roth](https://twitter.com/danroth27), Program Manager for Blazor at Microsoft. [Egil Hansen](https://twitter.com/egilhansen), who is a Managing Architect at Netcompany, and active community member, who's doing some excellent work on testing for Blazor. Our host and moderator Ed, who's also a fellow MVP. Finally, there was me.

We had a fantastic chat and covered some great topics, and I hope we've created an excellent resource for people to get to know a bit more about Blazor.

I want to say thanks to Ed for asking me to be part of this. I would also like to say thanks to everyone on the panel for the great conversation.

You can check out the [full dialogue over on the Progress site](https://www.telerik.com/campaigns/blazor-ui/getting-started-with-blazor-all-there-is-to-know-from-the-experts?utm_medium=social-owned&utm_source=twitter&utm_campaign=blazor-blog-getting-started-with-blazor-pp).
Connecting My 5 IntCode Computers: Will It Work?? Advent Of Code 2019 in javascript - Day 7
Tags: challenge, adventofcode, javascript, video
Published: 2019-12-16 08:50:33

---
title: Connecting My 5 IntCode Computers: Will It Work?? Advent Of Code 2019 in javascript - Day 7
published: true
description: JavaScript walkthrough of Advent of Code 2019 (day 7)
tags: challenge, AdventOfCode, javascript, video
series: Advent of Code 2019 in Javascript
---

This was the most challenging video to record so far. The reason is that it's again based on a previous challenge, which increases the area for potential bugs.

I gave up when I tried to record it for the first time, and almost gave up in this video. I lacked unit tests to build confidence. I love that it's getting more and more challenging as days go by.

{% youtube 41DlnEFraW4 %}

Feel free to drop a like, a comment and subscribe to cheer me on and help me with the YouTube algorithm, thanks!
JSNation is getting an upgrade – We're moving to a bigger venue
Tags: javascript, techtalks, conference, amsterdam
Published: 2019-12-16 08:43:03

### People expect a lot from [JSNation events](https://jsnation.com) – engaging talks, great ideas, opportunities to network – and we need a proper space that would fit all that.

After originally selecting another venue, we decided to go for an upgrade in 2020 – we're happy to announce that we'll be using the Kromhouthal, [a former manufacturing hall](https://kromhouthal.com/en/location-information/) turned into a trendy event venue, which you might know from our sister conference [React Summit Amsterdam](https://reactsummit.com). 

Our main motivation for the change is to have both the General track and the Node.js track under one roof this time, which wasn't possible at the original venue, and of course we need to have enough space for all the great people coming to the conference – 1000+ attendees, to be precise.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/frl02gy1k57jid5so07k.jpg)

The Kromhouthal used to be a factory where ship engines were produced, and we'd like to continue this tradition in our own special way – on June 5, the top software engineers are going to gather at this venue to discuss their favorite JavaScript libraries, engines, and up-to-date industry standards. 

On top of its rich history, the Kromhouthal is at the heart of the creative and bustling North Amsterdam area, and the place is massive but also very Instagram-friendly with its rough industrial interior, casual atmosphere, and scenic surroundings. As React Summit has proven multiple times, the venue is a great fit for a major JavaScript conference, and we'll be happy to prove that to our audience.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/182xb9vh6ysf1ma80nl7.jpg)

The Kromhouthal was built across the IJ channel from Amsterdam Centraal, so even though it's not directly downtown, the location is still very central and easily reachable. Moreover, there will be ferries to and from the Centraal station transporting our attendees, so you better get ready for all the fun you're going to have in Amsterdam!

{% youtube pjq6K5DAdnw %}

### Sounds good? [Reserve a Regular spot](https://jsnation.com) and enjoy JSNation as an attendee
Just launched our first product called FelloWage 🎉
Tags: showdev, webdev, startup, privacy
Published: 2019-12-16 08:34:47

---
title: Just launched our first product called FelloWage 🎉
published: true
description: It’s a privacy-focused platform where people can share their salaries 💸 and see anonymous 👀 entries of others.
tags: showdev, webdev, startup, privacy
---

Often people feel certain anxiety when thinking about the salary and only guessing what their colleagues might be earning.

This issue is especially problematic in cultures and countries in which talking about wage numbers is an unspoken taboo among the employees.

That's why my co-founder and I built 📊 FelloWage and are very happy to [launch it today on ProductHunt](https://www.producthunt.com/posts/fellowage)! 🎉

It’s a privacy-focused platform where people can share their salaries 💸 and see anonymous 👀 entries of others.

So that many more users feel comfortable sharing their wage information and keeping it up-to-date.

Moreover, it allows the user to see all salary entries in the current company, search for other companies in preparation for negotiations.

Check it out, leave a comment, approach us on [Twitter](https://twitter.com/ilonacodes) or via [hey@foundsiders.com](mailto:hey@foundsiders.com) if you have any questions, recommendations or improvement ideas for FelloWage 🙂
Five Upcoming Tools For Software Developers
Published: 2019-12-16 08:29:32

You will definitely agree that today developing tools are the helping hands of the developers. There are too many tools that help to create robust applications. A developer should know about the upcoming tools that might be helpful to them for future projects.

<h3>Here are the top five upcoming tools for software developers that fulfil their need to build projects.</h3>
<ol>
<li>GitHub Actions</li>
<li>DeployPlace</li>
<li>QueryPie</li>
<li>AutomatedApi</li>
<li>ExBrain</li>
</ol>

<a href="https://codersera.com/blog/five-upcoming-tools-for-software-developers-you-should-keep-your-eye-on/">for complete information about these tools</a>

<b>Wrap-Up</b>

A lot of software development tools look to provide solutions to problems faced when creating software. There are many products in the market but these tools actually help the developers to make large and customize applications. But these are the five tools for developers, which work as their helping-hands, as well as increase their productivity that they have more time to build applications.
Day 16 of the Visual Studio Tips Advent Calendar is now live
Tags: visualstudio
Published: 2019-12-16 07:58:51

Day 16 of the Visual Studio Tips Advent Calendar is now live. Enjoy! 

Only 9 more tips left!

https://visualstudiotips.co.uk/calendar/

#VisualStudio #DevDecember #VsTipsAdvent #Advent
Busca binária em Vetor
Tags: busca, binaria, vetor, c
Published: 2019-12-16 07:49:58

---
title: Busca binária em Vetor
published: true
description: Notas pessoais sobre métodos de busca e ordenação
tags: #busca #binaria #vetor #c
---

Olá pessoas!

Tentarei publicar algumas anotações e aprendizados à respeito de Estruturas de Dados para, além de fixar melhor o conteúdo, poder contribuir com uma visão mais abstrata da lógica, facilitando a implementação do código.

A primeira postagem é sobre a **Busca Binária**: 

Vamos supor que, dado um vetor _ordenado_ de tamanho qualquer, você queira encontrar um determinado número que possa estar dentro dessa estrutura. 

No exemplo a seguir iremos utilizar um vetor com 10 posições, ou seja, seu índice vai de 0 à 9.
![Alt Text](https://i.imgur.com/02fcG3V.png)


A busca binária consiste na ideia de "quebrar o código ao meio" e checar se o elemento está a esquerda ou a direita, quebrando o vetor em metades, se assim podemos dizer. 

Como sabemos que esse vetor é ordenado, podemos pensar da seguinte forma:  *se* o valor encontrado no vetor for maior que o elemento que estamos procurando, o "indicador" deve andar para a direita, *caso contrário*, ele irá para a esquerda. 

Você pode definir duas variáveis: _"início"_ e _"final"_, onde a primeira começa em 0 e a segunda, em n-1, sendo n o tamanho do vetor. Outra variável deve ser criada, ela será responsável por "direcionar" a procura do elemento no vetor. Chamaremos-a de _"meio"_.

O índice receberá o resultado da aritmética: (0 + 9)/2, seguindo nosso exemplo. Portanto, como é inteiro, a variável "meio" terá valor 4. 

Partiremos de Vet[meio] para checar seu conteúdo e definir pra onde iremos. 
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/6rvysfv8skozg9qth101.png)

*O elemento que queremos encontrar é maior ou menor que Vet[meio]?*
Se for maior, todos os números menores que Vet[meio] e até o próprio, serão descartados da busca. Portanto, precisamos somente atualizar a variável início para seu novo valor. 

O algoritmo consiste em trabalhar dessa forma até encontrar o valor
desejado. 
A próxima iteração trará o início com seu novo valor e o meio ancorado na metade do que sobrou do vetor. Veja:
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/apfir1nqvmxyxg8q1m5f.png)

Novamente, perceba que desta vez o elemento é *maior* que o conteúdo do índice do vetor, manipularemos a variável início para que descarte o valor inferior:
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/q9h5en2cu3v6z3t8aqud.png)

E por fim, o algoritmo retorna a posição onde está alocado o elemento procurado:
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/o1bdperu9g2yf9ttliys.png)

A vantagem é simples: pense em um vetor de 1000 posições. Uma busca linear, em seu pior caso, teria 1000 iterações; Já a busca binária, somente 10. (considerando que o valor estará no vetor). 


Referências bibliográficas:

BACKES, André. **Estruturas de Dados Descomplicada - Em Linguagem C**. Rio de Janeiro: Elsevier, 2016.