teleren/devto huggingface dataset:
Configure security policies to manage data 
Tags: azure, security
Published: 2019-04-16 16:45:57

---
title: Configure security policies to manage data 
published: true
description: Secure data and applications
tags: #Azure, #Security
---
**Configure data classification**
Primary characteristics of data classification:
- Facilitates storage optimization, identifies risks associated with data, and helps compliance
- Applies equally regardless of:
    - Data state: at rest, in process, and in transit
    - Data format: structured and unstructured

Implementing data classification in Azure SQL Database:
- Available as part of Advanced Data Security offering 
    - Data discovery and classification (in preview as of March 2019)
    - Configurable via the Azure portal
- Provides a set of capabilities forming SQL Information Protection:
    - Discovery and recommendations
    - Labeling
    - Query result set sensitivity
    - Visibility

**Configure data retention**
- Primary characteristics of data retention:
    - Dictates data recovery and disposal rules
    - Relates closely to data classification
    - Addresses regulatory, compliance, and corporate legal requirements 
- Implementing data retention for Azure Blob storage:
- Relies on immutable storage: write once, read many (WORM)
- Offers support for:
    - Time-based retention policies 
    - Legal-hold policies
    - All blob tiers: hot, cool, and archive
    - Container-level configuration
    - Audit logging

**Configure data sovereignty**
- Primary characteristics of data sovereignty:
    - Facilitates compliance with laws of the country (or region) where data is located
    - Prevents storing data in a foreign country
    - Typically includes provisions for data durability and resiliency
- Implementing data sovereignty based on Azure regions:
    - Relies on paired regions: each region paired with another within the same geography (*)
    - Offers a range of benefits:
        - Physical isolation
        - Platform-provided replication
        - Region recovery order
        - Sequential updates
        - Data residency
        - Reflects Microsoft commitment to compliance
![Alt text of image](https://thepracticaldev.s3.amazonaws.com/i/7puwpgwv88idtmc7czfc.png)
Notes from Developer Relations Conference
Tags: devrel, conference
Published: 2019-04-16 16:45:23

---
title: Notes from Developer Relations Conference
published: true
description: Notes from Developer Relations conference
tags: DevRel, DeveloperRelations, Conference
---

At the end of March I attended the [Evans Data Developer Relations Conference](https://evansdata.com/drc/2019/) in San Mateo. Overall it was a great conference 🥑. I took notes and pictures and want to share them with you here. Just a heads up, these are my notes mostly in bulleted list format, of things that I think I heard and most are not complete sentences 🤷🏽‍♂️


![95% of developers have some role in purchasing](https://thepracticaldev.s3.amazonaws.com/i/ca6tms88a1b1wqs85v8m.jpg)

[Continue reading >>](https://maxkatz.org/2019/04/12/notes-pictures-and-more-from-developer-relations-conference/)
Introduction to Web Scraping
Tags: python, beginners, tutorial, webscraping
Published: 2019-04-16 16:20:06

---
title: Introduction to Web Scraping
published: true
description: When websites haven't exposed APIs, use Python's BeautifulSoup package to gather data directly from HTML.
tags: python, beginners, tutorial, webscraping
canonical_url: https://kite.com/blog/python/what-is-web-scraping/
---

![Introduction to Web Scraping] (https://thepracticaldev.s3.amazonaws.com/i/xxr71cffhjzt3m4fkqbe.jpg)

## Introducing web scraping
Simply put, web scraping is one of the tools developers use to gather and analyze information from the internet. Some websites and platforms offer application programming interfaces (APIs) which we can use to access information in a structured way, but others might not. While APIs are certainly becoming the standard way of interacting with today’s popular platforms, we don’t always have this luxury when interacting with most of the websites on the internet. Rather than reading data from standard API responses, we’ll need to find the data ourselves by reading the website’s pages and feeds.


## Some uses
The World Wide Web was born in 1989 and web scraping and crawling entered the conversation not long after in 1993. Before scraping, search engines were compiled lists of links collected by the website administrator, and arranged into a long list of links somewhere on their website. The first web scraper and crawler, the World Wide Web Wanderer, were created to follow all these indexes and links to try and determine how big the internet was. It wasn’t long after this that developers started using crawlers and scrapers to create crawler-based search engines that didn’t require human assistance. These crawlers would simply follow links that would come across each page and save information about the page. Since the web is a collaborative effort, the crawler could easily and infinitely follow embedded links on websites to other platforms, and the process would continue forever.

Nowadays, web scraping has its place in nearly every industry. In newsrooms, web scrapers are used to pull in information and trends from thousands of different internet platforms in real time. Spending a little too much on Amazon this month? Websites exist that will let you know, and, in most cases, will do so by using web scraping to access that specific information on your behalf. Machine learning and artificial intelligence companies are scraping billions of social media posts to better learn how we communicate online.

## So how does it work? 
The process a developer builds for web scraping looks a lot like the process a user takes with a browser:

Read more [here] (https://kite.com/blog/python/what-is-web-scraping)!
Critique My Resume!
Tags: career, beginners, discuss, help
Published: 2019-04-16 16:04:26

---
title: Critique My Resume!
published: true
description: 
tags: career, beginners, discuss, help
---

I'm having some trouble getting past ATS, and I would really appreciate any critique of my resume that folks have!

https://zety.com/mycv/michaelscaveney
iframes everywhere
Tags: javascript, webdev, chrome, extensions
Published: 2019-04-16 15:46:13

---
title: iframes everywhere
published: true
description: 
tags: javascript, webdev, chrome, extensions
---

How many times you were on a random website and wanted to watch your favorite youtube video right on the current website? I guess it never happened 😀. You just opened a new tab and entered youtube in the browser's url input.

But recently I developed chrome extension and faced a problem with injection 3rd websites via iframe in a currently opened website.

Open your browser's dev tools and execute the following code:

```js
(function injectIframe(src) {
  let iframe = document.createElement('iframe');
  iframe.setAttribute('src', src);
  iframe.style.width = '500px';
  iframe.style.height = '300px';
  document.body.prepend(iframe);
})('https://youtube.com');
```

Your attempt will fail with the message
`Refused to display 'https://www.youtube.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
`
![fail](https://thepracticaldev.s3.amazonaws.com/i/uiukwssaxmmgq00rqmca.jpg)


This happens because youtube.com sets header `X-Frame-Options` to `sameorigin`, which blocks loading the website in iframe. YouTube don't want to show it's content on other websites and it's a reasonable decision.


## Browser extension to the rescue

But there is a way to bypass these security restrictions. You'll have to use a browser extension which have much more access to the client-server interactions.
An extension can intercept a server's response, modify it's headers and provide the modified response without limiting headers to the browser.

We're gonna use [webRequest](https://developer.chrome.com/extensions/webRequest) API to modify response headers. Here's the extension code:

```js
function stripHeaders(headers) {
  return headers.filter(header => {
    let headerName = header.name.toLowerCase();
    return !(headerName === 'content-security-policy' || headerName === 'x-frame-options');
  })
}

chrome.webRequest.onHeadersReceived.addListener(
  function(details) {
    return {
      responseHeaders: stripHeaders(details.responseHeaders)
    };
  }, {
    urls: ["<all_urls>"]
  }, ["blocking", "responseHeaders"]);
```

[Here](https://github.com/karataev/iframes-welcome-extension) is the repo with full extension code if you want to try it by yourself.

And here we go 🌟
![success](https://thepracticaldev.s3.amazonaws.com/i/yjqpv8rsonp063zgb38a.jpg)

P.S. Extensions have super powers compared to a regular javascript in a website's sandbox. Use them wisely and don't install extension you don't trust ❗
Getting started on bigger projects with Go
Tags: go
Published: 2019-04-16 15:43:09

---
title: Getting started on bigger projects with Go
published: true
description: intermediate go
tags: Go
---

A buddy recently informed me that his team was going to be reworking a reasonably large backend using Go. I have a bunch of opinions (strong & loosely held) on this matter. So I finally took the time to write down my thoughts and realized it would make sense to have it out on the internet somewhere.

One thing I was tempted to put in the email, which I did not, is that I feel that Go is getting large enough that there are more and more of these kind of guidance blog posts with bad advice in them. I hope this isn't one of them. In fact, my first advice is going to be: do nothing unless you understand why you are doing it, and if you think you know why you are doing it, be sure that you know why you are doing it in the context of writing Go code.

My quick intro to stuff goes like this:

This is overkill: https://github.com/golang-standards/project-layout and doesn’t actually help with the important thing, which is: You can’t have circular package references in Go, so how do you break things out? Luckily, most of the time the answer is simple: keep everything in a single package until you have a good reason not to. But don’t break things into different packages just because it might make sense in some other language. e.g. MVC - each goes in 1 package, until it makes sense to extract a model to use elsewhere, at which point, rather than a models package, a package describing the functionality of the related models should be extracted.

Everything at https://golang.org/doc/effective_go.html and https://blog.golang.org is like the bible of Go. Don’t fight against any of that advice. It is all golden.

There is a ton of great stuff here: https://github.com/golang/go/wiki especially https://github.com/golang/go/wiki/CodeReviewComments when working with teams.

Finally, remember that interfaces aren’t like interfaces in other languages, if you go in with the Java mindset of an interface and an implementation for everything, you are going to be creating great pain for yourself and your team.

I could expand on a lot of this, but I will wait for another time.

Good luck, I’m sure you’ll be amazed at your results and your love for such a boring simple language and environment.
Critique My Resume!
Tags: career, beginners, discuss, help
Published: 2019-04-16 15:07:52

---
title: Critique My Resume!
published: true
description: I am a fresher software developer, trying to get feet wet in Machine Learning
tags: #career #beginners #discuss #help
---
I am a fresher software developer, trying to get my feet wet in Machine Learning. People say that screening rounds are the most difficult and your resume speaks a lot about your personality and professional traits. Just wanted to check whether it is at par with the market standards or not?

Page 1
<img src="https://thepracticaldev.s3.amazonaws.com/i/6histgkfkt5p12txnacc.jpg"/>

Page 2
<img src="https://thepracticaldev.s3.amazonaws.com/i/salz6s2f6xcg8zsfswmu.jpg"/>
Web Services Questions To Ask In An Interview
Tags: interview
Published: 2019-04-16 13:40:41

---
title: Web Services Questions To Ask In An Interview
published: true
description: How to help get hired and hire for web services engineers
tags: Interviews
---

We all know how important web services are. Without them facilitating machine to machine communication, there’d be no way for computers to give us wonders like websites and Fortnite. So if you’re planning on getting a new job in the industry, we’ll help you get prepared with [web services interview questions](https://www.algrim.co/posts/176-web-services-interview-questions-soap-restful-rest). And to make sure you do your best and get the job, we’re also adding REST, RESTful, and SOAP interview questions. Put yourself in the shoes of the interviewee, and let’s get going!

# 1. WHAT ARE WEB SERVICES?
Web services are communication services which devices can use to communicate with one another (usually over the internet).

Typically, a web service provides an object-oriented interface to a database server. In turn, this server provides a user interface to the end user. The information from one server to another is translated to XML or JSON so they’re universally recognized, and can be applied to different devices.

All of this is done over the network. For example, HTTP is used for machine-to-machine communication in web services.

To put it simply: web services are like phones. One computer “speaks” into one handset, and the other hears it and proceeds with instructions.

# 2. CAN YOU GIVE ME AN EXAMPLE OF A WEB SERVICE, AND WHY IT’S A WEB SERVICE?
A great example of a web service is Apache CXF.

What makes it a web service is that it supports SOAP, addressing, policy, reliable messaging, has a JAX-WS API for development, and uses HTTP, JMS and WebSocket transport layers, among other features.

[Read more on Algrim.co](https://www.algrim.co/posts/176-web-services-interview-questions-soap-restful-rest)
Presenting Dragonbinder: 1kb progressive state management library inspired by Vuex.
Tags: statemanagement, reactive, vuex, progresive
Published: 2019-04-16 14:35:57

---
title: Presenting Dragonbinder: 1kb progressive state management library inspired by Vuex.
published: true
description: 1kb progressive state management library inspired by Vuex.
tags: state-management, reactive, vuex, progresive
canonical_url: https://github.com/Masquerade-Circus/dragonbinder
---

# Dragonbinder

1kb progressive state management library inspired by Vuex.

## Features

-   [x] Immutable state.
-   [x] Getters.
-   [x] Mutations.
-   [x] Actions.
-   [x] Event listeners.
-   [x] Nested modules.
-   [x] Plugin system.

## Project Url: 

[https://github.com/Masquerade-Circus/dragonbinder](https://github.com/Masquerade-Circus/dragonbinder)
Can you succeed as a junior developer in a fully remote role?
Tags: discuss
Published: 2019-04-16 14:32:28

---
title: Can you succeed as a junior developer in a fully remote role?
published: true
cover_image: https://thepracticaldev.s3.amazonaws.com/i/x1rnkioguvdgj4nzsg6y.jpg
tags: discuss
---

There's nothing that can equal rolling a chair over to a colleague to slay an issue they're struggling with there and then.

How can that work on a full remote role?
Resume Critique
Tags: career, beginners, discuss, help
Published: 2019-04-16 14:24:29

---
title: Resume Critique
published: true
description: 
tags: #career #beginners #discuss #help
---

I just saw a post by @ryanmdoyle requesting help with his resume, and I figured I could use some help as well. Some of the advice people gave was really solid, and I have already implemented some of it, but I believe I have a LOT of room for growth.

Please be as nitpicky as possible!


![Resume](https://thepracticaldev.s3.amazonaws.com/i/coixvn8epm5a1rpuy7xe.png )


And PDF: https://drive.google.com/open?id=1pQY1SWWVmX9uY3v9BEM7gnv2myYxWkdr

PS: I've seen a lot of comments about pictures in resume. That will probably be the first edit for mine.
Top 5 DEV Comments from the Past Week
Tags: bestofdev
Published: 2019-04-16 13:51:47

---
title: Top 5 DEV Comments from the Past Week
published: true
description: Highlighting some of the best DEV comments from the past week.
tags: bestofdev
cover_image: https://res.cloudinary.com/practicaldev/image/fetch/s--7VrAA2ln--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://thepracticaldev.s3.amazonaws.com/i/qmb5wkoeywj06pd7p8ku.png
---

This is a weekly roundup of awesome DEV comments that you may have missed.  You are welcome and encouraged to boost posts and comments yourself using the **[#bestofdev](/t/bestofdev)** tag.

Replying to **[If I don't use React, am I still a developer?](https://dev.to/bugsysailor/if-i-don-t-use-react-am-i-still-a-developer-1138)**, @jdmg94 talks about the essential ingredient to that abstract question of "what makes a developer":
{% devcomment a2ae %}

The **[What am I doing here?](https://dev.to/dlionz/what-am-i-doing-here-1lg4)** article inspired a number of great comments about belonging and imposter syndrome. 
 At the top of the thread was @madnesslabs's take:
{% devcomment a4fj %}

The **[Best productivity tools for your dev life](https://dev.to/areknawo/best-productivity-tools-for-your-dev-life-4kch)** is an incredible resource — @anacondaqq added even more value to the conversation by talking about their favorite productivity tool:
{% devcomment a465 %}

Following up on **[What's a Design System and why you need one](https://dev.to/tomekponiat/what-s-design-system-and-why-you-need-one-31fh)**, @emmawedekind adds valuable context and clarification around Design Systems and and what they're comprised of:
{% devcomment a2j5 %}

Finally, @12vanblart jumps into **[Why do you use jQuery in 2019?](https://dev.to/vnbrs/why-do-you-use-jquery-in-2019-4h3b)** to drop their take on jQuery's longevity:
{% devcomment a279 %}

See you next week for more great comments ✌
Should I finish loading lazy images while the browser is idle?
Tags: discuss, webperf, html, javascript
Published: 2019-04-16 13:51:45

I've heard of JS packages that prefetch linked pages while the browser is idle. 

Would there be any downside to doing something similar with lazily-loaded images?

At work, I'm on a fast connection. The Crutchfield home page loads very quickly, partly because below-the-fold images are lazy loaded.

But when I scroll down, even though I've been idle a few seconds, lazy-loaded images still "snap" into place. Not an ideal experience.

Shouldn't idle time be used to complete the page load? 

Questions that come to mind:

 1. How do I determine "idle"? `requestIdleCallback`, `setTimeout(loadImages, 5000)`, etc.?
 2. How do I performantly order the images to be eagerly loaded? Slowly expand the margin of an IntersectionObserver? (Is that even possible?)
 3. How will this interact with [the new `loading` attribute](https://addyosmani.com/blog/lazy-loading/)? Would I simply adopt the same strategy, just setting `loading="eager"` instead of changing the `src` attribute?

I'd love to know your thoughts, especially if you've implemented this - or explicitly chosen not to implement it for some reason.
What movie/series made you love programing even more?
Tags: programing, passion
Published: 2019-04-16 13:43:56

---
title: What movie/series made you love programing even more?
published: true
description: 
tags: programing,passion
cover_image: https://thepracticaldev.s3.amazonaws.com/i/7apmf4wxwoktz9wfz4z8.jpg
---

Person of Interest did it for me. You?
Generate React app with GraphQL backend in minutes
Tags: react, graphql, javascript, showdev
Published: 2019-04-16 13:27:00

---
title: Generate React app with GraphQL backend in minutes
published: true
description: Using 8base CLI you can generate a working React app from your 8base data model.
tags: react, graphql, javascript, showdev
---

A new experimental feature in 8base CLI generates a working React app from your data model. This is great for getting started with GraphQL and React or for quickly generating an admin UI for your app. Similar to scaffolding in Ruby-on-Rails. 

The generated React app is based on `Create React App`, uses `Apollo Client` for GraphQL requests and includes authentication powered by `Auth0` as well as the ability to upload files.

Few simple steps:

1. Define your data model in [8base](https://www.8base.com/)
![Define your data model](https://thepracticaldev.s3.amazonaws.com/i/h3dalq8bkuh5jlaylyda.gif)

2. [Install open-source 8base CLI](https://docs.8base.com/docs/cli-install) using `npm` and run `8base login`

3. Run `8base generate app ${YOU_APP_NAME}` to generate app template

4. Run `8base generate scaffold ${TABLE_NAME}` to generate CRUD UI for chosen data table (you can repeat this step for each table you want to add)

5. `yarn install && yarn start` to start the app

All terminal steps combined:
![Generate React code](https://thepracticaldev.s3.amazonaws.com/i/cf6ffjvsfp7l7srjhs0u.gif)

Here's a demo of a React app that gets generated:
![Start app](https://thepracticaldev.s3.amazonaws.com/i/k85fhsmp3s433oigqdwg.gif)

Let me know your thoughts and happy generating! More info [here](https://www.8base.com/generate).

P.S. 8base is currently in beta and is completely free. It will forever remain free for small dev teams.
How to get better at Blogging?
Tags: writing, blog, writingtips, blogging
Published: 2019-04-21 15:43:35

---
title: How to get better at Blogging?
published: true
tags: writing,blog,writing-tips,blogging
canonical_url: https://medium.com/@bhavaniravi/how-to-get-better-at-blogging-8a11b551e0d6
---

### 6 Things that are Stopping you from Writing

I haven’t taken blogging seriously until last year. I started it as a way of sharing my technical knowledge with the world, later found out that writing brings the best out of me as a person more than as a software engineer.

When I started writing a lot of people liked and supported my blog, and most of the question they asked was how do I do it.

In this blog, I am going to answer some of those common questions. I am stealing a few questions from @Alispitel’s blogs but the answers are my own

**_How do you keep motivated?_**

- Mmm... This is tricky. I always learn. Hence I know exactly what people have to go through when they learn something new. I started writing only to making things easy for curious people like me and that’s what keeps me motivated

**_How do you find the time?_**

- Writing will not take you more than 15 mins a day. It’s the editing, proofreading adding an illustration, sharing it in social media that takes time.
- Try this fix a 15mins slot in your calendar and start writing in a google doc. You will have min 2 blogs per week

**_How do you come up with topics?_**

- What are you currently working on?
- What are you currently learning?
- What do you care about? Environment
- What are the things you value the most?

**_Do you follow a specific template when you write?_**

- Not all blogs can flow with a single template
- What I follow is I put down topics and subtopics of everything I have to say in a particular blog. Then I go about filling the sections. This will also help you overcome the resistance of writing on a blank sheet of paper

**_Which platform is good for writing blogs?_**

- I used to have a WordPress blog but later moved it to medium because it makes writing super easy and clutters free.
- I personally like their stats since it gives me additional motivation to write.
- But, I am rethinking after their changes in paywall settings.

**_What if people judge me?_**

- Yes, the internet is liable to people judging you and commenting on it. But there will be n others who will be valuing your work
- All you have to keep in mind is there is only one version of you. What needs to be told by you should be told by you in your own way

**_Have more questions. Tweet at_** [**_@geeky\_bhavani_**](http://twitter.com/geeky_bhavani) **_and i will accommodate them in the blog._**

![](https://cdn-images-1.medium.com/max/1024/0*YBiZZTpOnErtGtYM)