teleren/devto huggingface dataset:
[PT-BR] Data Warehouse e alguns conceitos.
Tags: bi, intelligence, database, datawarehouse
Published: 2020-05-14 16:17:00

Dentro da área de Business Intelligence (BI), não temos apenas as ferramentas que auxiliam na montagem de relatórios e dashboards. Por trás disso, existe um processo que é feito, chamado de ETL (extrair, tratar e carregar) e nesse post será abordado dois conceitos desse processo: Tabela Fato e Tabela Dimensão, o que é, as diferenças e qual sua utilidade dentro da área de BI.

**Antes de tudo, vamos entender o que é o Data Warehouse**

Data Warehouse é um depósito de dados utilizado para armazenar informações detalhadas relativas a uma empresa. Serve para recolher e unificar os dados apenas em um ambiente, sem interferir na base de dados da empresa, para que facilite manter o histórico de informações e a padronização dos dados analisados, corrigindo erros e reestruturando para no final, apresentar um modelo organizado para a análise. As Dimensões e Fatos são alguns dos elementos presentes na estrutura do DW.

**Tabela Fato**

A Tabela Fato é a principal tabela no Data Warehouse e a partir dela será gerado as tabelas dimensões. A tabela fato armazena o que ocorreu, por conta disso ela possui esse nome, porque é o fato ocorrido. A tabela fato está sempre ligada a duas ou mais dimensões, não existe tabela fato com menos de duas dimensões. As medições, o histórico de informações contendo longo período de tempo, ficam depositadas na Fato.

**Tabela Dimensão**

As tabelas dimensões têm as características de um evento. Através dela podemos analisar os dados sob várias perspectivas. Por exemplo, podemos ter Dimensões como Produto, Região e Tempo em um DW.

As Dimensões e Fatos são dependentes entre si. No modelo dimensional é obrigatório existir ambas tabelas. Sem uma dessas tabelas, a análise das informações ficam comprometidas no modelo dimensional, ou até mesmo inviabilizadas.


É isso aí gente, no próximo post abordarei sobre a Modelagem Dimensional :)
Is learning Golang a good choice for beginners? 
Tags: go
Published: 2020-05-14 16:13:20

<a href="https://golang.org/">Go</a> is an open source programming language that makes it easy to build simple, reliable, and efficient software. 

Binary distributions available for. Linux, macOS, Windows, and more.

### Is Golang a good choice for beginners?

It depends on the background: computer science or aspirant programmer?

I wouldn't recommend Golang as first language, if you have no background in computer science. Some concepts may be hard to grasp and complex for a beginner to comprehend.

But it is simple, statically typed, very well documented and has a consistent design. So if you have a background in computer science, <a href="https://golangr.com/">learn go</a>.

For younger beginner programmers, I think that it is still not the best. 

Concepts like <a href="https://tour.golang.org/moretypes/1">pointers</a>, <a href="https://blog.golang.org/slices-intro">slices</a> or <a href="https://golangr.com/goroutines/">goroutines/channels</a> may be to hard to comprehend. Python is probably better for kids. 

My recommendation is for beginners to first <a href="https://pythonprogramminglanguage.com/">learn Python</a>, then to move onto other languages of which Go is a very good choice.
Alternatives for the < div > tag.
Tags: html, css, webdev, beginners
Published: 2020-05-14 16:07:48

The < div > tag defines a division or a section in an HTML document. The div tag is used as a container for HTML elements - which is then styled with CSS or manipulated with JavaScript. 

Although, there are a few alternatives as well!

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

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

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

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

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

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

More info can be found here -
https://www.w3schools.com/tags/default.asp
Can someone ELI5, what it means to have the typescript compiler built into a V8 snapshot?
Tags: deno, eli5, help
Published: 2020-05-14 16:01:02

---
title: Can someone ELI5, what it means to have the typescript compiler built into a V8 snapshot?
published: true
description: Can you clear up some deno confusion?
tags: deno, eli5, help
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/9o1zvhsx165sd2gtrekn.png
---
[This StackOverflow post](https://stackoverflow.com/a/55609763) mentions that the typescript compiler is included in a V8 snapshot. Could someone explain what this means in more clear terms for people using the typescript support? I understand that deno uses the same Javascript interpreter, but how does the typescript support work? Does it essentially transpile it at the start of the application? Does using typescript in deno effect the startup time of the application?
What You Have to Say
Tags: impact, webdev, productivity, change
Published: 2020-05-14 15:56:45

I attended the [RxJS Live](https://is-tracking-link-api-prod.appspot.com/api/v1/click/6747239386447872/~Tokens.Link~) conference these last year. One night I had dinner with a group of people and during the conversation, a couple of them asked strategies about blogging and putting out technical content.

As we talked, they asked me a very pointed question: What if you write something that has already been talked about…already been done?

I knew immediately that the problem here was a misconception about the value and delivery of educational material.

To hold back bringing material to the community because someone else may have said that same thing means that you haven't noticed the value you're truly getting from the material you're consuming yourself.

What YOU have to say is unique and different from the stuff anyone else has to say. Even if you're talking about the same subject. You're going to approach the subject differently. You're going to cover a different amount of material than anyone else. You're going to give different examples. You're going to CONNECT with the audience in a different way than anyone else has.

This has a lot to do with understanding that the content you deliver cannot be easily separated from the person who delivers the content. It's not a computer algorithm who writes your blog, makes your video, etc…it's you. You are a person. That will come through in the content you create. It will have your fingerprints, your personality all over it. It's your creation. Just like a child carries your DNA, your work is a product of who you are, the journeys you've been on, the trials you've conquered, and the things you've learned.

Think back to the teachers in school who taught you the most. Undoubtedly they will be the teachers with whom you identified the most. For me, it was a history teacher who had a collection of World War II history items, like a katana from a Japanese commander, a toe tag from a US soldier, and a helmet with a bullet hole in it. His personality, his energy, his passion, created a passion in me. He connected with me in a way no other teacher had before.

That is what you do as you deliver material to others. You transmit your passion and energy and love for the knowledge to others.

Never fear to say something because "someone else has said it". The only thing that matters is that you haven't said it….yet.

So say it.

What are you thinking about doing to share knowledge with others? What's holding you back from sharing your knowledge? 

Happy Coding!

Enjoy this discussion? Sign up for our newsletter [here](https://thinkster.io/?previewmodal=signup?utm_source=devto&utm_medium=blog&utm_term=whatyouhavetosay&utm_content=&utm_campaign=blog).

Visit Us: [thinkster.io](https://thinkster.io?utm_source=devto&utm_medium=blog&utm_term=whatyouhavetosay&utm_content=&utm_campaign=blog) | Facebook: @gothinkster | Twitter: @GoThinkster
Angular Vertical Tabs
Tags: angular, webdev, beginners
Published: 2020-05-14 15:41:06

Angular is a front end javascript framework that is base on typescript and made by google. So this is one of the best and popular javascript frameworks. Here we made Vertical Tabs In Angular using SCSS features and some basic HTML tags.

In this tabs simple, we used HTML Unordered list element with and some CSS properties. Here we also used media queries to make this element responsive for the mobile side. Also, we used the angular OnInit lifecycle method to set a value on clicks. Each tab has a separate view which we have shown in a click. Here not using any animation just simply we used active class after click to show tabs as active.

Make it yours now by using it, downloading it, and please support it.

[Download Source code] (https://w3hubs.com/angular-vertical-tabs/)
Install the openSSL version of cURL on Mac
Published: 2020-05-14 15:35:18

Recently, I needed to update my cURL to run apple push notification api but it depends on HTTP/2 protocol which my cURL is not supported.

I'll go straight to the point: [Homebrew team remove all options from homebrew core.](https://github.com/Homebrew/homebrew-core/issues/31510)

# To switch:
        $ brew upgrade
        $ brew uninstall curl
        $ brew install curl-openssl
        $ echo 'export PATH="/usr/local/opt/curl-openssl/bin:$PATH"' >> ~/.zshrc
May 14th Side Project Checkin
Tags: discuss, sideprojects, checkin, watercooler
Published: 2020-05-14 15:33:14

---
title: May 14th Side Project Checkin
published: true
description: Share your sideproject with the dev.to community.
tags: discuss, sideproject, checkin, watercooler
series: Side-project Checkin
---
Good Morning/Afternoon dev.to peoples! Hope you all are staying safe. How's your week been? Do you have a new project your working on? Have you contributed to any open-source projects lately? Let's share in the comments below.
What is a hacker and what does it mean to be one ?
Tags: hacking, programing, ssecurity
Published: 2020-05-14 15:29:09

this term originally referred to a clever or expert programmer or a clever person who built things and made things better but has sence been tarnished by the mainstream media that people follow like sheep today


When most people when the here the word "hacker" think of something bad like a person who steals people's passwords and credit details or there minds go to someone sitting in a dark room typing at 100wpm into a computer with black screen and green text but that's simply not true a hacker is a person who solves problems and build things, and they believe in freedom and voluntary mutual help they are not all bad and evil people, they are not all 30 year old men still living in there parents house who spend their days playing video games the term hacker is not only a computer think it also applies to people in the everyday word example you’re stuck in traffic so you look for a alternate route to take therefore you are solving a problem and that is the main what hacking is.
In the world of computers There some are main types of hackers..

Script kiddies -- these are the worst these are the ones that download tools of the internet instead of making their own and don't even understand how the tools works and what they actually do they mainly launch ddos attacks and can be strongly discouraged if the target has good security these guys are not problem solvers they are problem makers they may call themselves hacker but they are not they also ruin the hacker name

Blackhats -- these are the bad guys the ones who tarnish and disgrace what it means to be a hacker some of witch are script kiddies and are not highly skilled but can still be a threat but many are highly skilled and have chosen to use their skills and knowledge for evil instead of good

Grey hats -- these guys are the inbetweeners the internet vigilantes grey hats work both offensively and defensively hacktivists may often fall into this category a grey hats intentions are not always bad they are mostly good and the problems they cause are not always major there main targets may sometimes be big companies whom they believe are corrupt 

White hats -- these are the good guys the ones who solve problems and fix things These guys keep the internet safe they are skilled people who have chosen to use what they know for good and to help better mankind they are the ones who secure websites and software they may at times be referred to as penetration testers or pentesters

I want people to know and understand that not all hackers are bad just as with anything there are good and bad, yin and yang, So when you hear the word hacker keep these things mind and if you want to be a hacker dont be a script kiddie help better the world help people when they need help And always keep the hacker mentality Any problem can be solved And when you see a problem fix it
5 WAYS TO SPEED UP YOUR GATSBY APP IN A DAY
Tags: gatsby, webdev, beginners, tutorial
Published: 2020-05-14 15:27:21

> This video is a talk from [*Byteconf React 2020*](https://www.bytesized.xyz/react-2020), a free, live-streamed React conference that aired on May 1st-2nd, 2020. Join our newsletter at the [conference website](https://www.bytesized.xyz/react-2020) to stay in the know about future conferences, videos, and more!

Make Gatsby's "fast in every way that matters" a reality with this collection of 5 quick actions to speed up a Gatsby website, featuring real-world examples, Lighthouse scores and links to code.

Thanks to [Henrique Cavalieri](https://twitter.com/hcavaliericodes) who presented this talk at [Byteconf React 2020](https://www.bytesized.xyz/react-2020)!

{% youtube RG2UdCCLdTs %}

If you enjoyed the video, give it a thumbs-up, and [subscribe to our channel](https://www.youtube.com/channel/UC046lFvJZhiwSRWsoH8SFjg?sub_confirmation=1) for more web dev content every week. We also have a newsletter where we send out what's new and cool in the web development world, every Tuesday – [join here](https://www.bytesized.xyz/newsletter)!
Why I first started programming with Swift - and why you should too.
Tags: swift
Published: 2020-05-14 15:23:56

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ff39pylargef8aatfwzt.jpg)

Being a person with a non-technical background, I can say that scrolling through the endless rows of technical and complex questions on Stack Overflow were nothing short of mind-boggling. Luckily, Swift took those problems away by not only making me a better iOS Developer, but a more experienced programmer. For those who don't know a lick of programming, here's why Swift is absolutely perfect of you - just as it was for me.

 1) It's not complex!
Xcode, the official platform where iOS developers developer games, apps, etc. had been using Objective C as the conventional programming language for years. Unfortunately, Objective C was like most other languages, filled with certain special syntax and complex ways of doing a what is now a simple task in Swift. 

Don't believe me? Writing "Hello World" is convention for those who just started programming. It's supposed to be simple and a welcoming way to introduce a programmer to the limitless possibles of programming. Objective C makes it a hell of a lot harder compared to Swift. Here's proof:

OBJECTIVE C:
NSString*str =@"HelloWorld";

NSLog(@"%@", str)

Now, SWIFT:
let str ="HelloWorld"

println("\(str)")

Even if someone didn't understand what both were doing and what languages they were in, they could "swift"ly say that the second one is far easier to understand.

2) Too intimidated to head straight in by making a new project in Xcode with Swift, totally fine!

For most beginners, the concept of Storyboards, Swift UI and complex file structures can be intimidating, and that's completing fine! Xcode gives you the option to "try it out" with Swift Playground, another awesome feature in Xcode! Swift Playground it completely self-explanatory, you can write the most simple of code snippets in Swift and run it by just pressing the Play button. You don't have to worry about Simulators, devices, or anything else!

3) It's new and is always updating!

The Swift programming language released in 2014, and has been updating very frequently. A new feature includes Swift UI, where you can just drag and drop buttons, labels, etc. onto the phone simulator! If that's not enough, there is also a live view feature, where the user can see how is code is affecting the looks of the app live, while they are coding!!!

While this exactly isn't a main point, the Swift community is very warm and welcoming, with special events held annually! These includes the WWDC, or Worldwide Developers Conference along with an awesome Swift Student Challenge, where students can compete by making awesome games and interactive scenes in playground for special prizes including WWDC jackets, pins, and even tickets to WWDC (not this year, unfortunately)!!!

(Be sure to follow me on Medium at: https://medium.com/@suryanshmansha)
Mounting a second encrypted hard drive automatically under Debian or Ubuntu
Tags: security, encryption, debian, ubuntu
Published: 2020-05-14 15:23:25

It´s a good pratice to encrypt all your hard drives to keep good security for your data at rest. Either you store sensitive private or corporate data, to protect it from theft or that you do not have to delete ot when you remove and sell a drive. 

When you run full disk encryption under Debian with luks and your want to add a second drive to your machine that get´s automatically decrypted when you boot and provide your startup credentials you can do this with following steps:

* install your second hard drive in your machine
* get the device name `parted -l` e.g. /dev/sdd
* create a new gpt partition table `parted /dev/sdd mklabel gpt`
* create a new partition on the disk `parted -a opt /dev/sdd mkpart primary ext4 0% 100%`

Now you should see your new partition with `parted -l´

The next steps encrypts our new partition with a passphrase and opens it as mapper device under /dev/mapper and creates an ext4 filesystem:

* encrypt the partition: `cryptsetup --iter-time 5000 --use-random luksFormat --type luks2 /dev/sdd1`
* open it: `cryptsetup open /dev/sdd1 local_storage`
* create ext4 filesystem: `mkfs.ext4 /dev/mapper/local_storage`

To decrypt the disk autmatically at startup we generate a keyfile, add it to the keystore of the newly encrypted partition and store the keyfile on our root harddrive. 

* create a keyfile on your os hard drive: `dd if=/dev/random of=/root/.local_storage-keyfile bs=1024 count=4`
* change the permission so that only the root user can read it: `chmod 0400 /root/.local_storage-keyfile`
* Add the key to the encrypted partition: `cryptsetup luksAddKey /dev/sdd1 /root/.local_storage-keyfile`

An entry in /etc/crypttab will do the magic and does the decryption automatically with our keyfile:

* get your disk uuid with `blkid`
* add a new line to /etc/crypttab with your chosen device name: `local_storage UUID=<your UUID from blkid> /root/.local_storage-keyfile luks,discard` 

You can also add an aoutmount with an entry in /etc/fstab with the device name /dev/mapper/local_storage if you wish.

When you now reboot your second harddrive now get decrypted automatically and if you wish mounted in your filesystem via /etc/fstab.
100daysofcode Flutter
Tags: 100daysofcode, flutter
Published: 2020-05-14 15:21:53

day 66/100 of #100daysofcode #Flutter
Learning Flutter , courses Udemy from
@maxedapps

Today learn about shared preference, but stuck with error
https://github.com/triyono777/100-days-of-code/blob/master/log.md
Study and code, etc.
Tags: beginners, vue, womenwhovuetify, vuetify
Published: 2020-05-14 15:21:29

I know it's been a little bit since my last blog post. I've still been studying but it's been off and on. 

After a stormy's night sleep after creating my first app, I was so excited I wanted to do it again! I strayed away from the book again and asked John to help me. We created my first Github repository called *learning-vuetify* so I can commit my work.
After that, I watched a Vue tutorial video and created a simple little "Hello World" app. I committed both of these tiny little starter projects to my *learning-vuetify* repository in Github at [github.com/heatherleider](https://github.com/heatherleider). It's not much to look at but it's public and available if you're interested. 

After that, we were busy with the kids for a few days, then John and I both were injured moving furniture around and cleaning out the garage; so I took a couple days off. 😥 We're fine, just clumsy 🤦‍♀️.
So onward and upward! Our core team and contributors are creating a beginners guide which I am SO excited about!! I had the privilege to look over parts of it to make sure it was readable from a beginners standpoint and in the process, learned a lot! I have also been getting some great advice on different resources to use alongside the book to that were helpful to others! 

At this point, I have surpassed what John has written in the book so far (he's still writing it), so while I'm waiting for the next chapter to be written, I'm going to study other avenues and try to keep my knowledge fresh. 
I have watched a video on how to navigate through VSCode and am now working through a video on Javascript fundamentals. This way, I'll have some foundational knowledge when going back into the book and learning about how Vue and Vuetify work. I have also been reading through the Vue and Vuetify documentation so that I can get a good feel for it. One thing I've noticed is that I'm getting better at reading code and knowing what it means and what it does.  

I had wanted to talk about the resources I used outside of the book to learn but honestly, there are SO many resources out there I'm almost getting overwhelmed with all the choices. I've talked to other self-taught devs and they have shared which resources they used to learn. I also found out about code-as-you-go learning which sounded enticing. On one hand, I find it comforting that there are so many options for training videos and self-taught learning resources for new developers. That way, I know if I fail, it's my own fault. But on the other hand, there are so many options its overwhelming and I don't know which one's are vouched for and which ones are most reputable. Especially for beginners very little prior coding knowledge. If you are self taught, have been through this yourself and can relate, please tell me how you overcame it. 
How did you learn? 
What resources did you use? 
Which resources are found most valuable in the industry?