teleren/devto huggingface dataset:
You don't Google hard enough
Tags: skill, google
Published: 2021-04-30 13:18:41

**TLDR**: *You don't Google hard enough* is from my point of view as a software engineer after using Internet for ten years. I want to share my opinion and experience when searching with Google and tell you why we need to have Googling as a must-have soft skill in today's world.

*This post does not endorse Google, I’m not a Google fanboy. However, in the search engine world, Google is the most popular and probably the best one (except for privacy). I will use Google term a lot as most of us are familiar with it.*

Ok let's go back to the time before search engine become a thing, where people had to remember the exact website URLs to get access.

Back then, if people want to read news on Yahoo, they must go to news.yahoo.com. People have to pull out the exact link from their heads, which's somehow cumbersome if they have quite a bunch of their favorite websites. Luckily, Google and her friendly neighbors like Bing, DuckDuckGo have come to the rescue.

## My online help desk

I rarely used any search engine for looking around in the first couple of years having Internet. I listened to music on nhaccuatui.com, watched videos on YouTube, played games on y8, etc. Things have changed when I got into university to study Computer Science.

Since then, Google is like my secondary teacher. She always comes to help whenever I had problems with my homework. Gradually, Google has become my first choice of asking questions. Anything I don't know, I google it, software bug, cooking recipe, funny cat videos, trending tech, anything, literally.

## Keyword is the key

At first, I struggled with Google to get exactly what I want or what error I am dealing with. "Practice make perfect" we say, time after time, I can get a good grasp of googling properly. There are times my friends and co-workers can't find solution for their problems and then I come to them confidently with an answer just because I know how to put correct keyword in a search phrase.

## People ask me things I don't know

Of course I'm not a superhero who knows everything about tech, but people around me (family and friends) tend to ask me a lot. I tell them "Hold on, gimme a sec", and get back to them with the answer, thanks to the power I have within my phone. Simple as that.

## Conclusion

Even a kid knows how to Google, the point is we should put Google first in mind when searching for things or learning new stuffs. In a workplace, just don't bother your colleagues with your question until you find an answer on Google. There are tips on the Internet that could help you search efficiently and make your daily life less painful.

I'm pretty sure most of the time you can't get what you want just because you don't Google hard enough.
Read our latest blog about Gravitee.io v3.8
Tags: blog, api, apiplatform, graviteeio
Published: 2021-04-30 13:15:24

We launched Gravitee.io v3.8 this week, read our latest blog here...🚀

In this new release, benefit from multi-factor authentication for SMS and EMail and send messages to your subscribers through the API Publisher:

https://lnkd.in/dYfP2Kh
package.json
Tags: npm, node
Published: 2021-04-30 13:02:20

What we need to create a NPM project in a dir is creating package.json file in the root dir.
<h1>1.Create package.json by npm init -y</h1>
Than a package.json file be created in the root dir.
package.json
```json
{
  "name": "testet",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Today is a good day.\""
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

```
<h2>Note: don't add comment in package.json scripts fragment</h2>
<br><br>
<h2>run scripts that note in package.json</h2>
```shell
npm run test
```
The output:
```shell
PS C:\Users\89104\Desktop\testet> npm run test

> testet@1.0.0 test C:\Users\89104\Desktop\testet
> echo "Today is a good day."

"Today is a good day."
```
<h1>2.Write a package.json hand by hand</h1>
```json
{
    "scripts": {
        "test": "echo \"Today is a good day\""
    }
}
```

<h2>Creating package.json by hand is not a good way, Because the package.json right farmat is more complicte. Some time the package.json can not service npm run xxxx</h2>



<h2>Create package.json with first way, do not by second way.</h2>
HEL/BER/REMOTE - Smartly.io l Fullstack Javascript Developer (NodeJS/React)
Tags: german, react, javascript, career
Published: 2021-04-30 12:57:38

Location: Helsinki/Berlin/Remote

About Us:
Smartly.io is a fast growing SaaS product company with over 400 Smartlies with footholds in 17 cities, serving more than 650 brands worldwide, including eBay, Uber and Zalando.

As a Fullstack Developer within our optimisation team called Autopsy, you will help us save our customer's time and money while decreasing the amount of manual work needed to create beautifully effective campaigns. The team is building an extremely powerful tool that is in the core of our product - triggers, automations and automated optimisations that make customers' ad spend more efficient and aligned with their goals. The team is also currently scaling the architecture by implementing new multiplatform microservices. 

Autopsy is a team of currently six developers and one product manager. It is an independent fullstack team, so communicating with other engineers, product managers and designers, and even customers is essential. We use NodeJS, Typescript, Postgres, RabbitMQ and Kubernetes as the base for new microservices we spin up in the backend, React in the frontend. 

(https://www.smartly.io/careers/fullstack-javascript-developer-nodejs-react-4001721004)

Key Resposibilities:
• Designing, building and maintaining end-to-end data pipelines featuring Automated Optimisation
• Contributing to a high-load multiplatform automation service
• Building an integration service for optimisation features
• Collaborating with different team members to provide recommendations on implementation details of certain features
• Working in close cooperation with our customers to make sure that we are creating features that benefit them the most

Benefits:
• Relocation Supports
• Comprehensive salary and bonus
• Full 5 weeks of paid vacation
• Health coverage
• Wellness program
• Company-paid learning opportunities (courses, conferences, books)
• Computer (MAC or PC) + phone with plan + Bose headphones
• Offsite and team outings

If you look to step-up your career as a senior developer, a Smartly.io self-organizing team could be your next home!

Contact:
Alice Pham - Technical Sourcer @ Smartly.io
Email: alice.thungan@smartly.io


• Smartly.io’s Next Phase of Growth: https://bit.ly/3t3D9F9
• Software Engineering at Smartly.io: https://bit.ly/3x2lUYg
• Smartly.io DevTalks over the years: https://bit.ly/3aR2nk9
Apollo mongoose plugin
Tags: graphql, mongodb, performance, javascript
Published: 2021-04-30 12:47:05

Let me introduce my new library [`apollo-mongoose-plugin`](https://github.com/skauffmann/apollo-mongoose-plugin).
> It's a plugin to add mongoose query information on the Apollo GraphQL response extensions node.

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

## Why you need this plugin?

The purpose of the `apollo-mongoose-plugin` is to help you to identify your redundant, long, or un-batched MongoDB queries.
Thanks to GraphQL it's really easy to create a field resolver to load linked data on-demand. 
But working on small pieces of data can make us lose the big picture and lead to performance issues.
With this plugin, you will be able to keep a look on global performance and the execution plan of your Mongo queries.

## How it works?

The library is composed of 2 plugins. Once to collect query information from Mongoose and the second one to add collected queries on the Apollo GraphQL response.

### Usage
Install the plugin with `npm install apollo-mongoose-plugin`, then register the `mongoCollectorPlugin` to Mongoose and `ApolloMongoosePlugin` on the `ApolloServer`.

```typescript
import {
  ApolloMongoosePlugin,
  mongoCollectorPlugin,
} from 'apollo-mongoose-plugin';
import { ApolloServer } from 'apollo-server';
import mongoose from 'mongoose';

// first: register mongoose query collector plugin
// 🔔  Make sure you are registering the mongoose plugin
//     before you are creating mongoose models
mongoose.plugin(mongoCollectorPlugin);

// then: register apollo plugin
const server = new ApolloServer({
  // ...schema, dataSources
  plugins: [new ApolloMongoosePlugin()],
});
```

## How can I handle performance issues?

I must admit that I am not an expert on this subject but through my experience, I have used at least these few tips:
1. Add indexes to optimize search
1. Use a `Dataloader` to group called in one.
1. Cache query result (for example in Redis) to serve it later
1. Use persisted GraphQL queries
Versioned git-hooks with GitKraken in Windows 10
Tags: gitkraken, githooks
Published: 2021-04-30 12:13:20

This short post will address an issue that I have been having with git-hooks in combination with GitKraken. 

Let's say you have a project that requires git-hooks, for example for formatting, running tests, code analysis, etc... And you also want these git-hooks to be versioned by git. By default git stores all your git-hooks inside `.git/hooks`, but the `.git` folder is automatically ignored.

Now you ask: "_Why would you want to version git-hooks?_"
Well, Let's say you want to make sure that each developer on your project always formats his/her code. You would need to share your specific hook with each member and then if you need to change something to the hook you need to redistribute it again.

---

## Git config
Luckily there is a way to provide git with an alternative location for your git-hooks by executing the following command:
```
git config core.hooksPath .githooks/
```
And this works with most GUI clients out there like Sourcetree. But GitKraken does not take this into account and always looks at the default location namely `.git/hooks`

## Symbolic link
Symbolic links to the rescue! 
symlinks have been part of almost every operating system and to explain what these are very briefly is that they work as a point to another file or folder. There are some other types of symlinks but these are not relevant for the solution.

The idea is that you simply remove the `hooks` folder in your `.git` directory and then create a symlink with the name hooks that points to your versioned folder containing your actual git-hooks.

I use Windows 10 and I used the [Link Shell Extension](https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html) to have an extra item in my context menu.
![context menu to pick source](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ci32d80w3g70iv1f1t32.png)
Here you select the source folder which contains your hooks.
Then navigate to the `.git` folder and right-click again, now you can create your symbolic link
![context menu create link](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v3ymp59c0rgu2id8kg28.png)

Make sure you rename the link to `hooks`.

After restarting GitKraken you can test out that it works
There you go, you're all set!
Proof of concept and why your business needs one?
Tags: blockchain, technology, cryptocurrency
Published: 2021-04-30 12:08:49

Proof of concept is a presentation of the product and its potential viability. It described the idea and proposed functionality of the product, including the general design and how feasible they are. 

The main purpose of POC is it serves as a prerequisite for companies before they produce the final version of a product, then release it for wide-scale implementation.

Simply put, a small-scale visualization practice to verify the potential of a real-life application project. It's not about delivering that concept but exposing its feasibility.

Furthermore, it allows decision-makers to explore the project's potential, giving them a glimpse of the bigger picture once the business launches the product.

Now let us explore why small-scale businesses need POC development. 

Reasons why POC development is imperative for small businesses:

Proof of concept are critical in helping businesses, particularly small ones, launch their new product ideas and begin their POC development 

1. Business can pinpoint potential risks and obstacles: 

Developing a POC helps businesses to pinpoint risks and hindrances they may face while implementing the proposed product.

Rather than noticing the obstacles after the product launch, businesses can foresee them and plan the project accordingly, still in the development phase.

The POC development can increase the likelihood of the product's success. Additionally, businesses can also find ways to eliminate, mitigate, and address the risks and assure their investors about the project's success.

2. Businesses can determine the chances for scalability.

When creating a product, the business and stakeholders expect it to be scaled.

So through POC, the business can verify the feasibility of the idea and its scalability. 

Businesses can also get an oversight about mass-producing the product in terms of systems architecture, man resources, and workflow standardization, among others. So in this way, companies can determine their capacity for working with additional production. 

3. Stakeholders need proof before investing.

Before the business can request resources for their proposal, they should prove and show their stakeholders that the investment will be worth it.

POCs allow businesses where they can illustrate the usability and profitability of the idea. They can show the project in detail by thoroughly explaining the advantages of the proposed product, its operations, brand image, customer relations, and more.

This will eventually convince the stakeholders to accept their proposal and invest in the project. 

Final verdict: 

As stated above, POC helps businesses see if the project is practical and attracts a target market. So it is wiser for small businesses to embrace POC development. If you are looking for such services, then approach a POC development company that helps your project to reach success. 


Read More >> https://www.blockchainfirm.io/poc-development
Daily Developer Jokes - Friday, Apr 30, 2021
Tags: jokes, dailydeveloperjokes
Published: 2021-04-30 12:00:14

---
title: "Daily Developer Jokes - Friday, Apr 30, 2021"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
cover_image: "https://private.xtrp.io/projects/DailyDeveloperJokes/thumbnail_generator/?date=Friday%2C%20Apr%2030%2C%202021"
published: true
tags: #jokes, #dailydeveloperjokes
---

Generated by Daily Developer Jokes, a project by [Fred Adams](https://xtrp.io/) ([@xtrp](https://dev.to/xtrp) on DEV)

___Read about Daily Developer Jokes on [this blog post](https://xtrp.io/blog/2020/01/12/daily-jokes-bot-release/), and check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/).___
### Today's Joke is...
![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e1258eb1a429.png)

---
*Have a joke idea for a future post? Email ___[xtrp@xtrp.io](mailto:xtrp@xtrp.io)___ with your suggestions!*

*This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit.*

<!-- 
Joke text:
___Q:___ Why was the developer's family upset with them at dinner?

___A:___ They forgot to git squash before going home
 -->
Generating parallel stages in Jenkinsfile according to passed parameters
Tags: jenkins, groovy, parallel, jenkinsfile
Published: 2021-04-30 11:56:14

Let's say that you have an app that you want to test with different versions of Oracle DB. 

Sometimes you want to run tests for given pairs. Sometimes for one, sometimes for a few, sometimes for all.
* version A of your app with Oracle 11
* version A of your app with Oracle 12
* version B of your app with Oracle 11
* and so on

You can create different pipelines for different cases, but why not make it easier? 


Here we will create a declarative pipeline that will run different jobs depending on the selected parameters. 


### 1. We need to decide how we will pass parameters 

For our use-case the easiest way would be to use `booleanParam` 

```
    parameters {
        booleanParam(defaultValue: false, name: "oracle11a", description: "Oracle 11 + App Version A")
        booleanParam(defaultValue: false, name: "oracle12a", description: "Oracle 12 + App Version A")
        booleanParam(defaultValue: false, name: "oracle11b", description: "Oracle 11 + App Version B")
...
    }
```

Why `booleanParam`? Because all parameters in Jenkinsfile are stored as a map. So, our key in that map would be the name of the parameter and the value will be true or false (depending on did we select it or not in the UI)

### 2. We need to store additional information about our test cases.

Above the `pipeline {...}` we will create a map with parameters that we will need.

```
useful_map = [:]

def populate_useful_map() {
    useful_map["oracle11a"] = ["oracle11", "appVersionA"]
    useful_map["oracle12a"] = ["oracle12", "appVersionA"]
    useful_map["oracle11b"] = ["oracle11", "appVersionB"]
    ...
}
```

Here we create and populate our map of parameters that we want to have to pass to another job/test script/etc.

### 3. We will create all stages that we will want to run

So, for each parameter, if it was selected on the UI we will get values from the `useful_map` and create a stage with a call to another job defined in Jenkins which will run tests with given versions of DB and our application.

```
params.each { key, value ->
   if (value) {
      def oracle_db = useful_map[key][0];
      def app_version = useful_map[key][1];
      stages_to_run["${oracle_db} + ${app_version}"] =
        {stage("${oracle_db} + ${app_version}") {
          build(job: "pipeline-to-run-our-tests", 
                propagate: true,
                parameters: [
    string(name: 'ORACLE_DB_VERSION', value: "${oracle_db}"),
    string(name: 'APP_VERSION', value: "${app_version}")
                ])
        }
    }
```

### 4. We want to run all the job created in parallel 

All work is done, now we just need to pass `stages_to_run` that we created in step 3 to parallel function

```
stage('In parallel') {
            steps {
                script {
                    parallel stages_to_run
                }
            }
        }
```
Agile Takes Commitment + Collaboration
Tags: softwaredevelopment, webdev
Published: 2021-04-30 11:46:29

---
title: Agile Takes Commitment + Collaboration
published: true
date: 2021-04-30 11:45:03 UTC
tags: softwaredevelopment,webdevelopment
canonical_url: https://medium.com/chingu/agile-takes-commitment-collaboration-f06fa72607f6
---

Are you showing up at the table?

![](https://cdn-images-1.medium.com/max/1024/1*wB1utEA68eYuaYru7S0hUA.jpeg)<figcaption>Photo by <a href="https://unsplash.com/@4lexmccarthy?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Alex McCarthy</a> on <a href="https://unsplash.com/s/photos/meeting-sleeping?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption>

The start of a project comes with a lot of excitement and energy. But as it progresses some of the novelty wears off. Over hundreds of projects at Chingu we’ve noticed team members sometimes loose a bit of their original enthusiasm after a few sprints.

In this respect it’s just like starting a new job. You are eager and energized at the beginning because it’s something new, but over time it becomes routine.

In the middle sprints of a project we often see team members who don’t engage with one another in standup meetings and the team channels, don’t complete the tasks they’ve agreed to finish, and sometimes don’t bother to show up for team meetings.

> These are all danger signals for the team since they directly impact your ability to finish your project.

As a team member it’s your responsibility not only to finish the project, but to do so in a way that you fulfill your commitment to the company, but more importantly, to your team mates.

![](https://cdn-images-1.medium.com/max/500/0*g0GzM70SKj15TU_T.jpeg)

It’s also important to your career to be able to point to your involvement as proof that you are:

1. **_Results-oriented_** and dedicated to finishing what you start
2. Willing to invest in **_improving your knowledge_** and value as a Developer
3. Committed to being not just a great Developer, but a **_great team member_** the rest of the team looks up to and respects
4. A **_leader_** and not just a follower

### Before you Go!

> _Chingu helps you to get out of “Tutorial Purgatory” by transforming what you’ve learned into experience. The experience to boost your Developer career and help you get jobs._

> _You can learn more about_ **_Chingu_** _& how to join us at_ [_https://chingu.io_](https://chingu.io/)

* * *
What is Stored Procedure in SQL
Tags: sql, mysql, database, beginners
Published: 2021-04-30 11:37:21

The new capabilities provided by stored procedures, require new disciplines for MySQL developers, only some of whom will have prior experience in stored program development using other relational databases.

<h2>what is store procedure </h2>
<p>Stored Procedures are pre-compiled code which compiled for first time and its compiled format is saved, we call the compiled saved format whenever we want.

![Store Procedure example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pkd01dzi0tda5398yuyb.png)

<h2>How to create store procedure in sql ? </h2>
![How to create store procedur](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/835v8tvzx3j3ihc1lz3c.png)

<h3> Stored Procedure Syntax </h3>
<code>
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
</code>
<h3> Execute a Stored Procedure </h3>
<code>
EXEC procedure_name; 
</code>
Office setup help
Published: 2021-04-30 11:29:18


<a href="https://office-www-office.com/setup/">www.office.com/setup</a> help in setting up and Installing Microsoft Office on your computer. We provide Technical Support and other services to you. We help you with great work and other details. We are here to help you. We help you with Microsoft Office and Office installation. We help you with Great technical services at an affordable price. 

At <a href="https://mmcafeeactivate.com/">mcafee.com/activate</a> ,we help build your business online to get the most exposure. We work with you to get you noticed, so that you can start making money being the expert in your field.
We believe that organic search traffic is one of the most essential factors that determines a business’s success or failure online. Our team of experts will cater a plan just for you to help improve your search engine visibility and reach.
We target choice keywords raising our clients’ sites heads and shoulders above the competition. We do this through tried and true methods of pay-per click campaigns and organic keyword focusing to get the job done. 
<a href="https://wwwoffice-comsetup.com/">www.office.com/setup</a> is affordable support services are based on years of research and experience, and we continue to improve our techniques and tools to stay ahead of each and every change in search engine technology.
How does Number data type differ in Java and Javascript?
Tags: javascript
Published: 2021-04-30 11:26:10


Brendan Eich , while creating Javascript took a great influence from Java. 
In fact he was asked to create the Java language on the browser by the company Netscape.

So though Javascript has a lot of similarities with Java , it varies widely in other aspects.

With respect to numbers , Javascript treats Numbers differently from Java in these ways:

1. All numbers are floating point numbers in Javascript
2. You can represent 'Not a Number' in Javascript
3. You can represent Infinity in Javascript
4. You can convert a string to number using the '+' symbol in Javascript.

Explained with examples here:

https://fullstackdeveloper.guru/2021/04/30/how-do-numbers-differ-in-javascript-and-java/