teleren/devto huggingface dataset:
Thoughts on Global Azure Bootcamp 2019
Tags: net, cloud, development, azure
Published: 2019-05-01 11:26:24

---
title: Thoughts on Global Azure Bootcamp 2019
published: true
tags: .net,cloud,development,azure
canonical_url: https://craignicol.wordpress.com/2019/05/01/thoughts-on-global-azure-bootcamp-2019/
---

I’ve got a collaborative post coming up on the talks themselves on [my employer’s blog](https://www.screenmedia.co.uk/news/) but as a speaker and tech enthusiast, I wanted to share a few thoughts on the bootcamp as a whole.

Firstly, I’d like to thank Gregor Suttie who organised the Glasgow chapter under the Glasgow Azure User Group banner.

It’s an impressive feat getting so many speakers on so many topics around the world. Each city is going to be limited in the talks they can offer, but I was impressed by the distances some of the speakers at the Glasgow event traveled.

I would have liked to have been more of a global feel. I know the challenges of live video, especially interactive, but this is an event that would benefit from some of that (or indeed, more speakers participating the the online bootcamp via pre-recorded YouTube videos). I realize an event like Google I/O or Microsoft Build is different in focus, being company rather than community driven, but it felt like a set of parallel events rather than one, so it also feels as if some of the content is going to be lost, and there were a lot of interesting looking talks in other cities that turned up on the Twitter hashtags.

There’s obviously a lot to cover under the Azure umbrella, so it’s going to be hard to find talks that interest all the audience all the time, and it was hard to know where to pitch the content. I aimed for an overview for beginners which I think was the right CosmosDb pitch for the Glasgow audience, but I was helped by the serendipity of coming after an event sourcing talk so I could stand on the shoulders of that talk for some of my content.

I would maybe have liked to see more “virtual tracks” so that it was easier to track themes within the hashtags, whether it’s general themes like “data” or “serverless” or technology/tool focused like “CosmosDB”, “Azure DevOps” or “Office 365”, to help me connect with the other channels and see what content is must interesting to follow up. Although Twitter was a good basis for it, I think there’s scope to build a conversational overview on top, into which YouTube videos, Twitter content, Github links, blog posts, official documentation and slide content could be fed.

As a speaker, the biggest challenge was keeping my knowledge up to date with all the updates that are happening, and events like this do help, but as I’ve been on a project that’s Docker and SQL focused recently, it’s a lot of work on top of my day job to keep in touch with the latest updates to CosmosDb, especially as a few tickets on the project were picked up and moved to “In Progress” between submitting and delivering my talk, and a new C# SDK was released.
Secure your apps with Angular Directive when using target='_blank'
Tags: security, frontend, angular
Published: 2019-05-01 10:16:41

---
title: Secure your apps with Angular Directive when using target='_blank'
published: true
description: Best way to secure you apps when using target='_blank'
tags: security, frontend, angular
---
    
Hi, today I want to share with you guys on how to secure your apps if you are using `target='_blank'`.

Usually to link an external url, we will do something like this:
`<a href='https://dev.to'>Dev.to</a>`.Please noted that this will still work. But unfortunately there is an security issues here.You can read more about it here and it also included with example:
https://mathiasbynens.github.io/rel-noopener/#hax

To solve this issue we can simply add an extra attribute to anchor tag.
`<a href='https://dev.to' rel='noopener noreferrer'>Dev.to</a>`.

However, let say in our app we have a lot of external link to put.
And personally, I dont really like to write `rel='noopener noreferrer'` to every anchor tag I have.

With that, we can automatically add `rel='noopener noreferrer'` to every anchor tag with Angular Directive.

```js
// target-blank.directive.ts

import { Directive, HostBinding } from '@angular/core';

@Directive({
  // target every <a target="_blank">...<a>
  selector: 'a[target=_blank]',
})
export class TargetBlankDirective {
  // will add <a ... rel='noopener noreferrer'>...</a>
  @HostBinding('attr.rel') rel = 'noopener noreferrer';
}
```

```html
// and just use it like this
<a href='someurl' target='_blank'>someurl</a>

// will render like this
<a href='someurl' target='_blank' rel='noopener noreferrer'>someurl</a>
```

One last thing, let say you have dynamic action on click. How would we want to prevent this.

```js
function openInNewTab(url: string): void {
    // open link in new tab
    const newTab = window.open(url, '_blank')

    // set opener to null so that no one can references it
    newTab.opener = null
}

openInNewTab('https://dev.to')
```

You can play around here 
{% stackblitz angular-target-blank %}


In conclusion: 

| Pro                                         | Cons                                              |
|---------------------------------------------|---------------------------------------------------|
| Automatically add rel='noopener noreferrer' | New Developer unaware of this directive behaviour |
| Able to prevent this issue automatically    | Client disable JS                                                  |

You can read more here 
https://www.pixelstech.net/article/1537002042-The-danger-of-target%3D_blank-and-opener
My First CLI Project - 46 Books to Read by WOC
Tags: cli
Published: 2019-04-30 21:09:58

---
title: My First CLI Project - 46 Books to Read by WOC
published: true
description: 
tags: #cli 
---
# My First CLI Project - 46 Books to Read by WOC in 2018
At the onset of this project, students are asked to fill out a Project Ideation Form and submit it for review. When I was filling out the form, I had all these grand ideas and I wanted my app to do everything (list by books, list by author, list by the month the book is to be released, list by rating) but when I got feedback about my project idea it suggested I keep it simple (or [KISS](http://blog.flatironschool.com/5-steps-finishing-coding-project//) - one of the design principles in programming). I am so glad that I listened to this feedback. 

I began my project by watching [Avi's great video](https://www.youtube.com/watch?v=_lDExWIhYKI), which walks you through how to create a gem using bundler (typing: bundle gem cli_app_name_of_project). I highly recommend watching this video before you begin your project. It allows you to see how Avi thinks through making a CLI Gem project and I used it as a frame of reference to begin my own. 

After I used gem bundler to set up the skeleton of my project and I set up my environment so that my pry, nokigiri, open uri would work. I started the project by using pen and paper and drawing out a flowchart of what I wanted in my user to encounter. 
It looked like this (but with a lot more cross-outs and squiggly lines):

GREETING --> LIST OF BOOKS--> ASK FOR INPUT (what book do you want to see more of?) --> LIST MORE INFO --> GO BACK TO LIST/ SELECT ANOTHER BOOK--> EXIT. 

Then, I got to it! I began coding by writing the code that I wish I had (as Avi states multiple times in his CLI Gem Walkthrough video).  I started with coding my CLI class. I coded a greeting method, then made an outline method for list_books, and so on, so I had a frame to build out from. Here's the [walkthrough](https://www.youtube.com/watch?v=mJL5HqNb2xg&feature=youtu.be) of my project! 

This project really pushed me to think through a project from inception to completion, something I hadn't done yet, and WOW, did I learn a whole lot!
New Radix Developer Cards!
Tags: dlt, blockchain, pos, card
Published: 2019-05-01 09:46:40

---
title: New Radix Developer Cards!
published: true
description: 
tags: #dlt #blockchain #POS #card
---

# New Radix Developer Cards!

Recently, we've come up with a [card payment system use case](https://docs.radixdlt.com/alpha/learn/use-cases/card-payment-system), which was, to some degree, tested during [our first internal hackathon](https://www.radixdlt.com/post/the-first-radix-team-hackathon). Having this in mind, we've printed our new developer cards, that will be used for app testing - if you are interested in creating an app potentially using a POS system, let us know!

![alt text](https://thepracticaldev.s3.amazonaws.com/i/tyk05ac1bil1bnoepm2l.jpg "Radix developer cards")
Coding tips and tricks... mostly React related 😃
Tags: react, webdev, learning, javascript
Published: 2019-05-01 09:41:41

---
title: Coding tips and tricks... mostly React related 😃
published: true
description: Learn to code with my video tips.
tags: #react, #webdev, #learning, #javascript
---

I'm a developer, designer and course creator that really want to share my knowledge to other devs and people. Too see other people learn from something I know is the best feeling!

I'm starting to get a little collection of coding tips and tricks on my Youtube channel. Most of them are in React but I also show other web dev tips some times. My goal is to publish free stuff to learn fairly often to my Youtube channel and also my Twitter.

I really love sharing my knowledge and would love your support even more 😙😃

Youtube channel: https://www.youtube.com/user/Weibenfalk

Twitter: @weibenfalk

Code on!
PHP 8: Introducing JIT
Tags: technology, php
Published: 2019-08-27 12:51:20

---
title: PHP 8: Introducing JIT
published: true
tags: Technology,php
canonical_url: https://khalifa.tn/php-8-introducing-jit/
---

Basically, the PHP scripts are compiled into instructions, which are called opcodes that are understandable to the machine. Opcodes are low-level, and hence faster to translate to machine code as compared to the original PHP code.

![](https://i2.wp.com/khalifa.tn/wp-content/uploads/2019/05/php-running.png?resize=609%2C451&ssl=1)

 

This stage of execution is called compile time. These opcodes are then executed by the Zend VM in the runtime stage.

JIT (Just In Time) is being implemented as an almost independent part of OPcache, an extension to cache the opcodes so that compilation happens only when it is required. In PHP, JIT will treat the instructions generated for the Zend VM as the intermediate representation. It will then generate an architecture dependent machine code so that the host of your code is no longer the Zend VM, but the CPU directly

### Why JIT?

Many improvements have been done to PHP since its 7.0 version including optimizations for HashTable, specializations in the Zend VM for certain opcodes, specializations in the compiler for certain sequences, and many more. After so many improvements, now PHP has reached the extent of its ability to be improved any further.

So, JIT is a technique that will compile parts of the code at runtime, so that the compiled version can be used instead.(Just In Time)

### PHP comparing to C/Ruby/Python

Adding support for JIT in PHP will allow its use in scenarios for which it is not even considered today, PHP is not that HTML Templating but a programming language comparing to Ruby, Python and Java.

### Faster  and more secure

With JIT support, the core team will be able to develop built-in functions in PHP instead of C without any huge performance penalty. This will make PHP less susceptible to memory management, overflows, and other similar issues associated with C-based development.

According to stitcher, [PHP 7.4](https://stitcher.io/blog/new-in-php-74) will introduce JIT. The release date is probably around December 2019, but not yet confirmed. Though there is no official announcement about the release schedule of PHP 8, many are speculating its release in late 2021.

The post [PHP 8: Introducing JIT](https://khalifa.tn/php-8-introducing-jit/) appeared first on [C.Khalifa](https://khalifa.tn).
Difference between UI/UX Designer vs Web designer vs Frontend Developer
Tags: difference, webdesigner, frontenddeveloper, uxuidesigner
Published: 2019-05-01 09:18:57

---
title: Difference between UI/UX Designer vs Web designer vs Frontend Developer
published: true
description: DIFFERENCES OF DESIGNERS
tags: Difference, Web designer, Frontend developer, UX/UI Designer
---

Hi Guys! I know its kind of embarrasing to ask a question such as the differences of web design, ui/ux design and frontend developer. But Im really confused, i tried googling it, but google doesnt really give me such answer- answer that would clear my mind. I wanted to be a Web Designer, but in my country they are looking more on a UI/UX designer,and its confusing me, arent they similar?

I wish someone out there could clear this up to me about the differences between UI/UX Designers, Web Designers and Frontend Developers.

It would help me a lot. Thank you in advance! 💕
what's The next step for a static React js app ?
Tags: react, webdev, beginners, askingforhelp
Published: 2019-05-01 09:07:14

---
title: what's The next step for a static React js app ?
published: true
description: 
tags: #react #webdev #beginner #askingforhelp
---

With no background in React and the so little information I have, I managed to push a static one page website.
It's a slightly "Hello World" look alike, yet I just wanted to put it up to force myself to commit. I have a terrible case of overengineering and shiny new stuff syndroms, so please be nice in judging the code 😊😊 .
This is the repo: https://github.com/Haamida/Sneaky-React

Coming from a Symfony and php background where the front and back are tightly close, I figured that the next step for this front is to link it to a backend where we receive the reservation and newsletter inscriptions. I still have no idea how to it and still doing the research, any insights are appreciated.
Backend Stack suggestion for multi-platform app
Tags: php, javascript, node, beginners
Published: 2019-05-01 08:39:28

---
title: Backend Stack suggestion for multi-platform app
published: true
description: looking for help choosing the right stack for managing users and backend
tags: php,js,node,beginners
---

Hello,

I am working on a side project, and having difficulty of choosing the right stack to work with.
The problem Im facing is how to manage users in the platform.
I want to use PHP for web , because of SEO mainly. My site will include thousands of products , and after reading quite a bunch, a JS app can never have the same SEO as php\asp, mainly because of search engines algorithms.

So Im using php for web, and react-native for mobile.
The question now, is what to use for backend. Can I integrate users sign-in and sessions with JS on a php website?

Or my only point of connection between the website and the mobile apps will be the Database and thats it? 

I am a new beginner and looking to understand the right way to integrate different platforms. Also if you have some support or suggestion for easing development and platform management I would highly appreciate it.

Thank you
react-keep - tiny library helping with vanishing data 
Tags: javascript, react, library, opensource
Published: 2019-05-01 08:29:05

---
title: react-keep - tiny library helping with vanishing data 
published: true
description: Higher order component which conditionally remembers previous values of props and pass them down. 
tags: javascript,react,library,opensource
---

I've turned frequently used pattern into tiny library. It's higher order component which conditionally remembers previous values of props and pass them down. Thanks to this you have time to gracefully hide the component or display placeholder with old data in place.

[GitHub repo and docs](https://github.com/pilaas/react-keep)
[See examples](https://codesandbox.io/s/pjo5369v0m?autoresize=1&fontsize=14&view=preview)

![example](https://thepracticaldev.s3.amazonaws.com/i/kdxli2qzky5hxnpmofgi.gif "example")
I changed career to software development without a CS degree, Ask Me Anything!
Tags: ama, sofwaredevelopment, career, discuss
Published: 2019-05-01 07:57:57

---
title: I changed career to software development without a CS degree, Ask Me Anything!
published: true
tags: ama, sofwaredevelopment, careers, devdiscuss
---
Creating this in hope I can help someone (you?) thinking of making the jump to Software Development. Go ahead, ask me anything :).
publishing pwa to app stores
Tags: discuss, pwa
Published: 2019-05-01 07:39:59

---
title: publishing pwa to app stores
published: true
tags: discuss, pwa
---

A client of mine wants an app. I think pwa is the best approach for their project. The client likes the idea but would also like the app in the app stores. So I'm thinking, pwa = one code base, and the way forward. But would I be able to get it published to the app stores? 3 birds, 1 stone...
How AI is changing the SEO
Published: 2019-05-01 06:30:01

---
title: How AI is changing the SEO
published: True
description: AI is changing the SEO
tags: 
---
In a report run by Forrester, 40% of marketers struggle with personalization, which is a big problem when you consider that consumers today are looking for unique, authentic experiences with brands.
They actively want deeper connections with the businesses they buy from. Thankfully, there is a knight in shining armor coming to the rescue.
A glut of marketing automation software companies is hitting this challenge head-on by creating tools that allow marketers to focus on one-on-one engagement. Seems like a laborious process, interacting with each and every customer, right?
Machine learning. This is a field of artificial intelligence that lets marketers collect, store, and understand large quantities of data and, off the back of it, put together customized experiences for their people.  
Facebook is a great example of this.
Their algorithmic newsfeed analyzes every user’s actions on the site in order to deliver handpicked content that suits their behavior. We will see more of this in the coming years from general websites and blogs, which, as the technologies advance, will be able to learn from their user experiences.
But be warned: it has the potential to get creepy.
With the combination of robo writers (more on that later) and detailed algorithms designed to create customized content, there is the possibility that stories will be developed exclusively with a particular individual in mind.
To put it bluntly, in the future we might see news articles written by machines that have been created for one specific person.
SEO Is Getting a New Lease on Life
Google’s powerful machine learning AI system is called RankBrain, and it helps sift through search results to provide the most relevant websites for the searcher.
Now, we all know that Google has a habit of changing its algorithm fairly often, but its latest venture is known as deep learning - a system used to improve SEO rankings, so they better serve the user.

<a href="https://zaclab.com/digital-marketing-training/">SEO training in Dehradun</a> | <a href="https://zaclab.com/digital-marketing-training/">Digital marketing training in Dehradun</a>
How to setup dynamic routes in Nuxt.js
Tags: javascript, vue, nuxt
Published: 2019-05-01 06:29:50

---
title: How to setup dynamic routes in Nuxt.js
published: true
description: A guide to generating routes for dynamic content in Nuxt
tags: #javascript, #vue, #nuxt
canonical_url: http://www.veritystothard.com/blog/nuxt-dynamic-routes
---

When working with [dynamic pages](https://nuxtjs.org/guide/routing/) in Nuxt, such as when we have a CMS with blog posts, we soon find that we need a way to generate routes for each post, e.g. `www.veritystothard.com/blog/a-post/`. 

I came across this issue when building my own website using Contentful. My dynamic pages worked a treat on first load; the post slug passed in the `<nuxt-link />` allowed me to pre-render the required post using the asyncData method, and a call to Contentful returned an entry of type `blogPost` with a slug matching that in the URL. However, when I refreshed the page, it was gone. 

This issue occurred because I had not defined the routes I needed Nuxt to generate for my dynamic page in the config file, so when `nuxt generate` ran, no routes were created.

A quick fix for the issue is to simply add the route for each post to the `routes` array in the `nuxt.config.js` file,

```javascript
    export default {
    ...
      generate: {
    	  routes: [
    		  '/blog/a-post',
    		  '/blog/another-one'
    	  ]
      }
    ...
    }
```

but that approach would soon become tedious and inefficient when adding new posts in the future.

A better approach is to generate an array of routes depending on your entries. For this example, I will be using entries of type `blogPost` pulled from Contentful, but the concept could apply to various CMS / data sources.

First, I set up my client and did a call to Contentful to return the slug of all entries with the type `blogPost`. I then formatted each slug to suit the folder structure of my website and pushed it to the `routes` array (e.g. the slug `a-post` became `/blog/a-post`).

```javascript
    require('dotenv').config()
    
    const contentful = require('contentful')
    const config = {
      space: process.env.CONTENTFUL_SPACE_ID,
      accessToken: process.env.CONTENTFUL_ACCESS_TOKEN
    }
    const client = contentful.createClient(config)
    
    export default {
    	generate: {
          routes: async function () {
            const entries = await client.getEntries({ content_type: "blogPost" });
            const routes = []
            entries.items.forEach(item => {
              routes.push(`blog/${item.fields.slug}`)
            })
            return routes
          }
       }
    }
```

To test my solution, I ran `yarn generate` and saw that a route for each of my pages *and* posts were logged in the console. I then deployed my changes to my Netlify project and saw that on page refresh, my content persisted  🙌

*This post was originally published on [veritystothard.com](http://www.veritystothard.com/blog/nuxt-dynamic-routes)*