teleren/devto huggingface dataset:
Why Do So Many Software Teams Use Azure DevOps?
Tags: devops, azure
Published: 2020-05-27 12:06:39

Simple question, if you’re already using Azure DevOps — why?


Teams looking to move from an on-premise data center to a cloud-based solution have plenty of options. So why do companies like Orange, Hewlett-Packard, BMW, and GE all choose Microsoft’s solution?

<b>Maybe it’s some archaic requirement that’s locked you into using Microsoft products for all of eternity. Or, maybe (and more likely) it’s because Azure DevOps just does all of the stuff you want it to do. </b>

That’s the case for most companies.

<h2> Azure DevOps Is Flexible </h2>
One of the biggest advantages to using Azure DevOps is the ability to scale up your data storage capabilities at any time. Compared to the more old-school practice of using a static data center, which would require new hardware, OS purchasing, provisioning, and deployment. 

Azure DevOps gives teams more modern flexibility for adding and scaling infrastructure on the fly, allowing them to keep moving forward all the time.

<h2> Azure DevOps Is Cost-Effective</h2>
Azure DevOps doesn’t only make it faster and easier to scale—it makes it cheaper.

On-premise data storage comes with so many costs: Routers, load balancers, IT expertise to run and maintain all the necessary equipment—in no time at all, it can add up to thousands, or even hundreds of thousands of dollars, plus ongoing costs for payroll. But by leveraging Microsoft’s massive global infrastructure (and not to mention their expertise), teams can dramatically cut their IT budgets..

<h2> Azure DevOps Makes Disaster Recovery Fast and Easy </h2>
With technology, it’s impossible to completely avoid down time and other disasters. 

But with the high-speed and geographically decentralized infrastructure of Azure DevOps, you can know that you have far more options for disaster recovery, making the process simpler and much faster—think recovery periods that last minutes or hours instead of days.

Tools like redundant sites that can run your critical applications and data during downtime help mitigate the costly effects of any type of disaster.

Now each of these factors on its own is important. But the real reason that companies use Azure DevOps is because they think it’s the tool that’s best suited for helping their engineering teams get work done. 

But, that only happens if teams are using their tools in the right way.
______________________________________________________________
*[7pace Timetracker](https://www.7pace.com/) is the only integrated, professional time management solution for teams using Azure DevOps.*

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0abhoy61sfwppfggxyhq.png)
Daily Developer Jokes - Wednesday, May 27, 2020
Tags: jokes, dailydeveloperjokes
Published: 2020-05-27 12:00:24

---
title: "Daily Developer Jokes - Wednesday, May 27, 2020"
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=Wednesday%2C%20May%2027%2C%202020"
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/5e125925337e5.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 did the constant break up with the variable?

___A:___ Because they changed.
 -->
How do you improve your programming skills?
Tags: motivation, developer, discuss, beginners
Published: 2020-05-27 11:58:55

---
title: How do you improve your programming skills?
published: true
description: Curated answers to a question from the Code Connector community Slack channel. 
tags: #motivation #developer #discuss #beginners
---

How do you improve your programming skills? 

1. This all comes down to keys on the keyboard. Repeated practice is the mantra here and increased skill doesn't yield itself to any other shortcuts!

2. Want to improve programming skills? Get a job programming. You will learn or you will perish. Learn through any method available to you and use multiple sources. Build without a roadmap. Don't only rely on tutorials! In tutorials, nothing breaks. In real life EVERYTHING breaks. Getting better is being hit with those errors and finding the solutions.

3. You will improve your programming skills by reading other people code and getting your code reviewed.

4. Watch educational videos.

5. Keep a list of tech words that you've heard and don't know anything about. First researched to know WHAT it is, then evaluate whether it should be one of the things to learn or not.

6. If working with a technology you've not familiar with, take the time to learn as much as you can about it so you can understand what's going on better and make better decisions about how it is being used.

Contributors: Corey McCarty, Lawrence Lockhart, LeAlan Carter, Danny Thompson, Bryce Sharp

Code Connector is a non-profit that's organized tech meetups to help people start their journey into tech. If you enjoy daily discussions like the above, join us on slack at: https://bit.ly/2Ywnzqc
New Ebook: CI/CD with Docker and Kubernetes
Tags: showdev, devops, docker, kubernetes
Published: 2020-05-27 11:55:49

---
title: "New Ebook: CI/CD with Docker and Kubernetes"
published: true
description: "A free, open source ebook to learn Continuous Delivery with containers."
tags: showdev, devops, docker, kubernetes
canonical_url: https://semaphoreci.com/blog/new-book-cicd-with-docker-kubernetes
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/tbl8xpwhe76le5j3ey7j.png
---

I have a gift for you: a free, 90-page ebook to learn CI/CD with Docker and Kubernetes. The book is [open source](https://github.com/semaphoreci/book-cicd-docker-kubernetes), and you can [download it today](https://semaphoreci.com/resources/cicd-docker-kubernetes).

## Why we wrote this book

Containers have become the standard executable format for cloud applications. But, changing how you build, test, and deploy code is a big deal for any engineering team.

[Semaphore](https://semaphoreci.com) has been around since 2012, and our Customer Success team has worked with hundreds of organizations as they moved to a container-based architecture. Many more are yet to migrate.

We've seen it time and time again: adopting containers takes *time*.

There are many moving parts, and it's not clear how to make the timeless practice of [Continuous Integration and Delivery (CI/CD)](https://semaphoreci.com/cicd) more productive, not less.

Eventually, it does get easier to onboard new team members, run tests reliably, be cloud-agnostic, and build new services. But to get there, you have to build internal know-how from several books and dozens of blog posts.

We wrote this book to help you build reliable and fast CI/CD pipelines for containers — in days, not weeks or months.

## Who is it for

We believe the book will be useful to:

- Senior developers who are beginning their journey into microservices or cloud-native architecture, or need to migrate an existing system to Kubernetes.
- CTOs and Directors of Engineering who need a clear vision of what a reliable, high-velocity CI/CD pipeline looks like and what it takes to build one.

## Download it today

I want to thank the book co-authors:

- [Jerome Petazzoni](https://twitter.com/jpetazzo), a leading instructor on containers, creator of [container.training](https://container.training), and a former Docker core engineer.
- Tomas Fernandez, whom you might already know from Semaphore blog as [an author of some great posts](https://dev.to/tomfern).

We combined our knowledge in CI/CD and containers to bring you a practical guide to shipping high-quality cloud apps rapidly and consistently.

👉 **[Get a free copy today](https://semaphoreci.com/resources/cicd-docker-kubernetes)**. 👈

If you enjoyed it perhaps like or retweet the thread on Twitter:

{% twitter 1265597241219338240 %}

Happy reading!
Mutable vs Immutable Deployments - A Diagram
Tags: watercooler, architecture
Published: 2020-05-27 11:49:37

Hey DEV community,

As I'm getting closer to my June 28, 2020 deadline to release my book, [Cloud Native Web Development](https://gum.co/cloud-native-web-development), I decided to dedicate half an hour during my lunch breaks from now until I publish the book to draw the (architecture) diagrams I need.

I'll just throw them in here, hoping others find them useful.

Today: Mutable vs. immutable deployments.

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

[Diagram source](https://excalidraw.com/#json=6220566163881984,ID6gVPfDCOlWgn6tqAn5Rw) (if you want to edit/reuse it)
Search Text in stored procedure in SQL Server
Tags: sql
Published: 2020-05-27 11:36:06

SELECT DISTINCT
       o.name AS Object_Name,
       o.type_desc
  FROM sys.sql_modules m
       INNER JOIN
       sys.objects o
         ON m.object_id = o.object_id
 WHERE m.definition Like '%[ABD]%' ESCAPE '\'

===============================================================================
Escape the square brackets:
...
WHERE m.definition Like '%\[ABD\]%' ESCAPE '\'

Then the square brackets will be treated as a string literals not as wild cards.
Goopensource is designed to simplify tech job search in every industry sector.
Tags: jobs
Published: 2020-05-27 11:33:26

---
title: Goopensource is designed to simplify tech job search in every industry sector.
published: true
description: We’re happy to announce that our new company search engine (alpha version) is officially available for business, recruiters, and developers.
tags: jobs 
---

We’re happy to announce that our new company search engine (alpha version) is officially available for business, recruiters, and developers.

The launch of our new search engine brings better search capabilities of tech jobs and companies in many different industry sectors. It’s collecting across the world’s new companies to offer our users the best possible experience while searching for new jobs and companies.

We’re using AI in the background to enrich the user journey and to improve localization of companies in various countries and we’re using a pretty modern tech stack to make the search itself very fast. Our tech stack is a composition of Kubernetes, Golang, Vuejs, MongoDB, Postgresql, Python, Tensorflow, Docker and GRPC.

## Supported search keys
* 50+ Languages (Rust, Golang, PHP, Javascript, Python, C, C++, …)
* Tech topics (Kubernetes, MongoDB, frameworks, HTTP, …)
* Countries
* Cities
* Company descriptions
* Company name

Our system indexed around 5000+ companies in the last 6 months.

We are following the AI-First instead of mobile-first principle. Please use a Desktop to fully enjoy our User journey but we will provide an even better experience for desktop and mobile users in the future.
https://www.goopensource.dev/companies

## Features

We’re rolled out a set of new features the past week.

* A developer or other IT person is capable to search for tech, languages, tech topics, country, and city on our platform.

* A company could use our platform to promote its own company

* A recruiter can use our platform to find new clients and developers.
Stay tuned it’s coming more in the future.



### Any questions?
Denon for Deno | Like nodemon for node
Tags: deno, webdev, beginners, tutorial
Published: 2020-05-27 11:19:08

<strong>Denon</strong> is a library that automatically restarts your deno application when you make changes to it and save them. I've done a quick tutorial to describe how to install and use it, and some of the great features like creating configuration files.

{% youtube OukB3hQefyI %}
<center>[Youtube: Deno Express Tutorial](https://youtu.be/OukB3hQefyI)</center>

Included in this video are:
* Installing Denon
* Using Denon in practice
* Setting up a configuration file in Denon with ini
* Presetting flags such as --allow-net
* Using environmental variables

Denon:
https://deno.land/x/denon/

Deno:
http://deno.land/

## 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)
How to automate git commits
Tags: github, codenewbie
Published: 2020-05-27 11:17:18


Create a folder with a file name "push.bat" and save the file type as All files, then add the following code.
```
git add .
git commit -m %1
git push

```
Next configure the path by opening Environment Variables on your machine then edit path, under path section, add the path to the "push.bat" file and click ok to exit.
Now we can push changes to a remote repository using a single line of code like so. 
```
push "commit message"
```
That's it guys, this was a time saver for me because I'm currently taking a course on Bootstrap 4 and I have to regularly do commits. Happy coding 🤓

Credit [https://medium.com/@cibiaananth/how-to-add-commit-and-push-to-git-using-one-command-on-windows-25d756f444b7]
I'm Alex and I'm a Recovering Perfectionist
Tags: devjournal, codenewbie, womenintech
Published: 2020-05-27 11:15:59

_This post was originally published on May 27, 2020 on [my blog] (https://alexlsalt.github.io/blog)._

I believed for so freaking long that I wasn't a perfectionist.

I simply couldn't be! I mean, I *wasn't* perfect by any means. And, like, maaaaybe I'd be a perfectionist *if* things were perfect in my life, but they weren't, so...there.

But the thing is... I've learned now that being a perfectionist is actually exactly that: thinking and really believing that things could be perfect in some far-off reality that might be possible to achieve *if* I worked hard enough for it.

This far-off reality is actually just a fluke. It's an unrealistic idea, and even if you're not consciously striving for it, you might subconsciously be thinking that things in your own life and work aren't perfect, so therefore you're doing it wrong and need to work so extremely hard *just* to pass it off as just OK.

It's suuuch a vicious cycle. And now that I've realized I've been acting that way for so long, I'm on a daily mission to combat that type of thinking.

Just this morning, I was considering starting to really design my days by putting my work schedule on a calendar blocked off by 2- to 3-hour chunks. As my mind started to spin out to designing some beautiful, aesthetically-pleasing printable on Canva, I stopped myself right then and there and resolved to use a pencil and a perfectly-suitable blank piece of paper.

Anytime I'm caught in the throes of making whatever I'm working on Just a Tiny Bit Better™ and ultimately losing hours of my time and droves of my mental energy to that pursuit of an impossible ideal, I give myself the benefit of the doubt and get used to thinking that it's perfectly good enough.

Good Enough is powerful. Good Enough is the move.

If you're a perfectionist (or if you didn't realize you actually could be until right now), let Good Enough guide you and set you free.

[Now let's be friends over on Twitter >>] (https://twitter.com/alexlsaltt)
Securing express js server
Tags: node, express, security
Published: 2020-05-27 10:45:15

###Introduction
This post is about securing your express js application from network attacks.


Once you are done with developing your application which uses node js server, the next task comes up is of deploying it to production or making it ready for production.

First and the most vital point that comes to our mind is how secure is our application? Are the API requests made through my application secure? Does the secret key or token or sensitive data has enough security?

Express JS documentation covers all these questions [here](https://expressjs.com/en/advanced/best-practice-security.html)

It lists down the options we should opt for and other suggestions.

In my case, I made use of [Helmet](https://www.npmjs.com/package/helmet) , an npm package which provides enough security to our routes.
You can also customize the *Content-Security-Policy* header as per your needs.
```javascript
app.use(helmet.contentSecurityPolicy({
  directives: {
    defaultSrc: ["'self'"],
    styleSrc: ["'self'", 'maxcdn.bootstrapcdn.com'],
    scriptSrc: ["'none'"],
    imgSrc: ["'none'"],
    fontSrc: ["'none'"],
  }
}))
```
As mentioned in the options, you can specify the valid sources for your images, fonts, scripts, styles, etc. This surely adds a level of security.
Refer [this](https://helmetjs.github.io/docs/csp/) for contentSecurityPolicy.

I am sure it will help you in some way.

Cheers !!!
I created an AutoMapper in C# to copy property values automatically
Tags: c, automapper, reflections, dotnet
Published: 2020-05-27 09:24:41

---
title: I created an AutoMapper in C# to copy property values automatically
published: true
canonical_url: https://blog.bipinr.com/auto-object-mapper-to-copy-property-values-automatically/
description: Object Automapper in C# that can go multiple levels deep and copy properties from a target object to source object.
tags: C#, AutoMapper, reflections, dotnet
---
I was working on a project that required mapping values to complex objects when I say complex the target object was a large collection of multiple objects several levels deep. Some of the objects to which the values had to be mapped were several levels down. The task of finding the correct objects or directly assigning values to the properties of objects was tedious, especially if it had to be done over and over again. This problem led me to create the object auto mapper. During the course of this post, the target is the object you are operating on or mapping the values to and the source is the object from which the values are copied.

Auto mapper uses reflection to index all the objects on which it is operating. After the index is created, the algorithm can then identify the target object on which to operate based on the type of the source object. Once the target object is found then the algorithm sweeps through the properties of the target to identify all the properties that have a public set on them. The algorithm will now set the values of the properties.

Some of the features of my Auto mapper is

* Automatically finds the first occurrence of an object type and maps them.
* If there are multiple objects of the same type in the target object, you can specify the property name to map it to.
* If the object already has some data in it, this will preserve the existing once and map only the new once.
* If the target property is null, the auto mapper can initialize the property and map the values.
* If the target property is a List or an Array[], it can initialize it.
* If the property is null or if it already has values the new values get added to it.

[https://github.com/rbipin/AutoMapper] (https://github.com/rbipin/AutoMapper)
My online meditation course for developers is open
Published: 2020-05-27 09:42:57

Beautiful humans of Dev.

Many of you have read my articles on meditation for software developers.

Like this one:

{% link https://dev.to/daraghbyrne/25-ways-mindfulness-and-meditation-help-in-my-career-as-a-software-developer-4anb %}

Or this series:

{%link https://dev.to/daraghbyrne/a-dev-s-guide-to-meditation-part-1-29c3 %}

#Launch day

I have an online course in meditation for software developers. It's a great way to develop or refine your practice.

It takes four weeks. 

It's available here for $47 US. 

(Please let me know if price is an obstacle).

[The Mindful Developer - Course Signup](https://codingmindfully.com/tmd)

Let me know if you'd like to know more about it before commiting. I'm happy to answer your questions below!

_Photo by Daniel Mingook Kim on Unsplash_
Laravel Là Gì? Những Điểm Lợi Và Cách Cài Đặt Chính Xác Laravel. 
Published: 2020-05-27 09:12:10

Nếu bạn là một lập trình viên PHP hoặc có tìm hiểu về lĩnh vực này thì chắc hẳn không còn xa lạ với nền tảng Laravel. Mặc dù ra mắt gần đây nhưng open source framework này đã nhanh chóng khẳng định vị thế bản thân với hàng trăm ngàn lượt tải về tại Packagist. Vậy, Laravel là gì? Những yếu tố nào đã mang nền tảng này phát triển vượt trội như vậy? Bài viết này sẽ mang tới những thông tin giải đáp chính xác nhất cho bạn.
http://laptrinhvacongnghe.com/laravel-la-gi/
🚀 Quick tips! 3 ways to get unique values from an array. 💜
Tags: javascript, webdev, tutorial, programming
Published: 2020-05-27 09:00:39

---
title: 🚀 Quick tips! 3 ways to get unique values from an array. 💜
published: true
description: 3 different ways to get all the unique values from an array.
tags: javascript, webdev, tutorial, programming
cover_image: https://imgur.com/9cIXg0c.png
---

In this super short article, learn how to create 3 different functions that return all of the unique values in an array. 

You can watch the video version here or keep scrolling for the code snippets. 
{% youtube IorhmUhPgFs %}


### 1) Filter the values 👇

```js
const getUniqueValues = array => (
  array.filter((currentValue, index, arr) => arr.indexOf(currentValue) === index)
);
```

### 2) Using reduce 👇

```js
const getUniqueValues = array => array.reduce(
  (accumulator, currentValue) => (
    accumulator.includes(currentValue) ? accumulator : [...accumulator, currentValue]
  ), []
);
```

### 3) Destructure a new Set 👇

```js
const getUniqueValues = array => [...new Set(array)];
```

---

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

Subscribe on [Codú Community](https://www.youtube.com/c/Cod%C3%BACommunity)
💡 Quick tip: Fetch JSON data from a public Instagram profile without Graph API
Published: 2020-05-27 08:57:28

I hate Instagram's Graph API for its complex configuration...

Thanks to a Google search, I discovered a magic query string to use with the official Instagram website:

```
https://www.instagram.com/{public_profile_name}/?__a=1
```

Using the query string `__a=1` allows you to fetch the JSON content of any public Instagram profile.

Below is one of the solutions with __JavaScript__:

```javascript
async function getInstagramPictures (profileName) {
  const baseUrl = "https://www.instagram.com";
  const profileUrl = `${baseUrl}/${profileName}`;
  const jsonDataUrl = `${profileUrl}/?__a=1`;

  const response = await fetch(jsonDataUrl);
  const jsonData = await response.json();
  const pictures = jsonData.graphql.user.edge_owner_to_timeline_media.edges;

  if (response.ok) {
    return pictures;
  } else {
    throw new Error(pictures);
  }
}
```

```javascript
getInstagramPictures("nasa")
  .then(pictures => console.log("Pictures:", pictures))
  .catch(error => console.error("Error:", error));
```

By looping _pictures_, you can display each image or its thumbnails:
* picture.node.display_url
* picture.node.thumbnail_resources
  * [0].src = _150x150_
  * [1].src = _240x240_
  * [2].src = _320x320_
  * [3].src = _480x480_
  * [4].src = _640x640_

Sources:
* https://stackoverflow.com/a/48674091
* https://codelike.pro/fetch-instagram-posts-from-profile-without-__a-parameter/
* https://dev.to/teroauralinna/how-to-fetch-your-public-photos-from-instagram-without-the-api-3m50