teleren/devto huggingface dataset:
Cara Belajar Menjadi Seo Agency Pemula Terbaru
Tags: seoagency, carabelajarseoagency, caramenjadiseoagencypemula
Published: 2020-02-03 09:40:07

Seorang blogger ntah mereka memakai blogger ataau wordpress harus mengetahui seo, dimana seo merupakan hal penting untuk mengoptimasi website atau blog baru. Apa lagi jika anda ingin menjdi seo agency. 

Belajar seo akan mudah dipahami jika agen seo pemula memahami optimasi situs agar memperoleh peringkat halaman satu google. Tentunya merupakan tantangan bagi seo pemula. 

Belajar menjadi agen seo pemula memerlukan waktu untuk belajar seo yang tentunya merupakan tantangan tersendiri disamping itu membutuhkan waktu dan pemikiran untuk mengoptimasi situsnya untuk mengoptimasi situs orang lain. 

Karena hanya dengan tekhnik seo atau search engine optimization bukan saja mendapatkan artikel dihalaman satu tentu saja dengan seo website akan menambah trafik website menjadi bejibun maka inilah tugas seorang seo agency.

Bagaimana cara belajar menjadi seo agency pemula terbaru untuk optimasi situs

1. Memahami algoritma google

Setiap waktu algoritma google selalu berubah maka kadang kala trafik situs menjadi down maka seorang seo pemula harus dapat mengantisipasinya agar websitenya tetap bertengger dihalaman satu googlr begitupun trafik agar terus meningkat. 

2. Backlink no follow dan do follow

Merupakan tekhnik dasar seo bahwasanya baklink nofollow dan dofollow tentulah berbeda pada praktiknya. Maka dia harus faham bagai mana cara menanam backlink dofollow dengan html anchor teks tag. Begitupula internal linking disetiap post usahakan jangan memakai java script internal linking sebab robbot tidak akan follow link tersebut. 

3. Memahami seo moz

Moz merupakan situs yang bisa mengukur sejauh mana optimasi seo di dalam sebuah website, terutama dalam hal tekhnik seo. Banyak istilah di moz sendiri misal spam score, domain atau page authority score terutama untuk melihat sejauh mana sebuah situs membantu situs lain sebagai pengoptimasiam situsnya tentunya harus diukur berapa nilainya. 

4.Belajar teknik seo

<a href='https://www.omevan.com/2020/01/belajar-seo.html'>Belajar seo untuk pemula</a> tentunya harus dan paling utama baik untuk template blog maupun didalam artikel itu sendiri seperti seo onpage maupun off page sebuah website agar website orang muncul dihalaman satu google.

Mencari situs high otorisasi dalam upaya membantu situs orang agarendapat rangking yang baik di google. 

5. Belajar seo dari seo agency lain

Mungkin anda mempunyai teman seorang seo agency mengapa anda tidak belajar seo darinya dengan memanfaatkan imu seo dari agen seo bagaimana optimasi situs di search engine. 

6+ Belajar dari mastah seo

Nah terakhir minta ilmu dari master seo yang udah pengalaman dalam hal search engine optimization, tentunya menguntungkan jika anda sering bergaul dengan mastah seo terutama bagi blogger pemula. 

Demikian cara optimasi seo bagi pemula, semoga bermanfaat.
Convert an email file with attachments to PDF using C#
Tags: csharp, dotnet, codenewbie, computerscience
Published: 2020-02-03 09:09:43

There are a lot of document conversion APIs and they support Email to PDF conversion. But what about the Email (.eml or .msg) attachments?
Blow is the code to convert an Email file with attachments to PDF:

```
var source = "sample-with-attachment.eml";
var loadOptions = new EmailLoadOptions {ConvertAttachments = true};
using (var converter = new Converter(source, () => loadOptions))
{
    var index = 1;
    var options = new PdfConvertOptions();
    // Note: index = 1 is the email itself, all following indexes are attachments
    converter.Convert(() => new FileStream($"converted-{index++}.pdf", FileMode.Create) , options);
}
```
For further details see this <a href = "https://forum.groupdocs.com/t/convert-eml-with-attachments-to-pdf-in-c/7933/4">post</a>. You can also raise your concerns on forum.
User Registration and Authentication with Dart video series
Tags: dartlang, webdev, flutter
Published: 2020-02-03 09:03:40

In this two-part series we will learn how to build a User Authentication system for use in your next application. User authentication allows access to specific resources on a system by verifying that a user has valid access to that resource.

Watch Part 1 and 2 below. You can also [follow the written tutorial](https://creativebracket.com/build-a-user-authentication-system-1/).

# Part 1

{% youtube HloDTrNH37c %}

# Part 2

{% youtube rHJxHSJY-8k %}

## Sharing is caring

If you enjoyed reading this post, [subscribe to the YouTube channel](https://youtube.com/c/CreativeBracket) (_hit the bell icon too_) for more videos on Dart.

Watch my [Free Get started with Dart course](https://egghead.io/courses/get-started-with-dart) on Egghead.io and [join my email newsletter](http://eepurl.com/gipQBX) to download my Free 35-page eBook titled Get started with Dart and to be notified when new content is released.

**Like, share and [follow me](https://twitter.com/creativ_bracket)** for more content on Dart.

_Originally published at [https://creativebracket.com](https://creativebracket.com/build-a-user-authentication-system-1/)._
I built a PWA Gaming app
Tags: pwa, webdev, javascript
Published: 2020-02-03 08:48:26

---
title: I built a PWA Gaming app
published: true
description: A PWA game app to guess the correct Hexa color
tags: PWA, webdev,  javascript
---

Hello, 

Last week at my work I talked on PWA and made a color guessing app. The idea was simple : One needs to guess the right HEXA color value of the background color. One can play the game even there is no network or internet.

## Tech Stack used:

- HTML5
- CSS3
- JavaScript

## As of now following features I have implemented:

- Add to home screen
- offline support
- splash screen and theme
- icons for the home screen

## Future plans:

- Add scores
- Add hints

## Screenshots:

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

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

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

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


## Steps to install:

- On the android phone, open Chrom browser and type colormatching.netlify.com
- You will get the prompt 'Add to home screen' tap on 'ok'.The icon will get added to the mobile.
- Now, go back to the mobile home screen and tap on the color icon. It will take you to the app on the browser.
- Go to the mobile setting and turn on the 'Airplane mode'. Now, again go back and tap on the color icon. This time instead of a blank or broken screen you will see the game page. Enjoy the game.

[Try the app on mobile browser](colormatching.netlify.com). Chrome browser and android.

*PS: This is still WIP if you see any bugs or broken UI/UX please let me know.*
How to Setup Python Virtual Environment for Python3 on Ubuntu 19.10
Tags: python, ubuntu
Published: 2020-02-03 08:45:14

If your OS is Ubuntu 19.10, you don't need to install python3 separately.
Because Ubuntu comes with Python3.
You can check it by typing:
`$ python3 --version`
```
jsguru@ubuntu:~$ python3 --version
Python 3.7.5
```
Then, the first step is to install pip for Python3
`$ sudo apt-get install python3-pip`

Working on a python project in an isolated python environment is recommended so that python modules and packages don't meddle with that of other projects or even that of the operating system. Thus, a virtual environment is needed eminently.

We can achieve it with **`virtualenv`** or **`virtualenvwrapper`**.
**`virtualenvwrapper`** is better choice than **`virtualenv`**.
Creating and deleting virtual environments is easy with **`virtualenvwrapper`**.

For installation it run:
`$ sudo pip3 install virtualenvwrapper`

And
`$ mkdir ~/Envs`

After running the commands above, open the **.bashrc** file via gedit or any other tool you prefer.

`$ gedit ~/.bashrc`

And add below lines at the end of **.bashrc** file.

`WORKON_HOME=~/Envs`
`VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3`
`. /usr/local/bin/virtualenvwrapper.sh`

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

You can now use `mkvirtualenv`, `rmvirtualenv` and `workon` commands to create, remove and list virtual environments.

**Create a new virtualenv**
`$ mkvirtualenv myproject`

```
jsguru@ubuntu:~$ mkvirtualenv myproject
Using base prefix '/usr'
New python executable in /home/jsguru/Envs/myproject/bin/python3
Also creating executable in /home/jsguru/Envs/myproject/bin/python
Installing setuptools, pip, wheel...
done.
virtualenvwrapper.user_scripts creating /home/jsguru/Envs/myproject/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/jsguru/Envs/myproject/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/jsguru/Envs/myproject/bin/preactivate
virtualenvwrapper.user_scripts creating /home/jsguru/Envs/myproject/bin/postactivate
virtualenvwrapper.user_scripts creating /home/jsguru/Envs/myproject/bin/get_env_details
(myproject) jsguru@ubuntu:~$ 

```

**Load or switch between virtualenvs**
`$ workon myanotherproject`
```
(myproject) jsguru@ubuntu:~$ workon
myanotherproject
myproject
(myproject) jsguru@ubuntu:~$ workon myanotherproject
(myanotherproject) jsguru@ubuntu:~$ 
```

**Deactivate a virtualenv**
`$ deactivate`
```
(myanotherproject) jsguru@ubuntu:~$ deactivate
jsguru@ubuntu:~$ 
```

**Remove a virtualenv**
`$ rmvirtualenv myanotherproject`
```
jsguru@ubuntu:~$ workon
myanotherproject
myproject
jsguru@ubuntu:~$ rmvirtualenv myanotherproject
Removing myanotherproject...
jsguru@ubuntu:~$ workon
myproject
jsguru@ubuntu:~$ 
```
7 Tips to Become a Smart Worker
Tags: productivity, tips, management
Published: 2020-02-03 08:42:47

---
title: 7 Tips to Become a Smart Worker
published: true
description: 7 Tips to Become a Smart Worker
tags: productivity, tips, management
---

Hard work and effort is important, but knowing where to apply effort makes all the difference. In this day and age, its a necessity to become a Smart Worker. I believe the following 7 tips can help you work smarter. 

**Tip#1**
Analyze the task on hand to understand the in’s and out’s of it

**Tip#2**
Prepare and plan the stuff required for the task before starting it

**Tip#3**
Breakdown the task into smaller ones to measure the progress and stay motivated

**Tip#4**
Estimate time for each sub task, it will help you remain on track with deadline

**Tip#5**
Stay fully focused and work hard on completing the smaller tasks

**Tip#6**
Take break to rest after hitting a task milestone, it will keep you energized and productive

**Tip#7**
Remember there is no smart work without hard work i.e. Hard work + Brain = Smart Work

Feel free to give your perspective about Smart Work and how to achieve it.
(DDD) Tactical Design and Clean Architecture
Tags: cleanarchitecture, ddd, dotnet, csharp
Published: 2020-02-03 08:41:57

---
title: (DDD) Tactical Design and Clean Architecture
published: true
description: The DDD Tactical Design practice is hands-on patterns and coding, could this patterns be implemented following the Clean Architecture Principles?
tags: #CleanArchitecture, DDD, dotnet, csharp
---

Last week I talked about Tactical Design and Clean Architecture at Stockholm Domain-Driven Design Meetup and I recorded and released on Youtube. 

{% youtube hf_XBb5cSoA %}

It was my first time talking about this two huge subjects at once and I expect to improve it for the next time. The slides summarize many ideas that guided the implementation of [Clean Architecture Manga](https://github.com/ivanpaulovich/clean-architecture-manga) project:

{% github ivanpaulovich/clean-architecture-manga no-readme %}

Check out the slides:

{% slideshare 75YLNA2TqZeRhR %}

I hope it help you improve your software design :)
I Finally Found The Perfect Linux Distro
Tags: linux
Published: 2020-02-03 08:39:05

## I've used MAC and Windows a lot, but I never got into Linux. That all changed 2 days ago.

#### I installed [Pop!_OS](https://system76.com/pop) overwriting my Windows installation, and have no regrets so far.

![Pop!_OS Landing Page](https://dev-to-uploads.s3.amazonaws.com/i/8g8e6c1i8dnqj4wuby8o.png)

#### [Pop!_OS](https://system76.com/pop) was made with developers in mind. Many popular development tools are pre installed. Downloading and installing other popular tools is easy using the [Pop!_Shop](https://github.com/pop-os/shop), or by following along with simple Ubuntu installation instructions.

![Pop!_OS Landing Page - Developer Section](https://dev-to-uploads.s3.amazonaws.com/i/dpocyp02ihwwxqx646hq.png)


### Here are some of the reasons it's awesome:
- It comes pre installed with AMD/Nvidia GPU drivers that have [Vulkan](https://en.wikipedia.org/wiki/Vulkan_(API)) & [OpenGL](https://en.wikipedia.org/wiki/OpenGL) support.
- All Windows games are now available on Linux because of new easy to install tools. The [Pop!_Shop](https://github.com/pop-os/shop) allows you to download apps like [Steam](https://store.steampowered.com/) with [Proton](https://www.protondb.com/), [Lutris](https://lutris.net/), and [Wine](https://www.winehq.org/) in one click.
- The Linux Terminal is better than `cmd` for coding. VS Code works perfectly and is available in one click using the [Pop!_Shop](https://github.com/pop-os/shop).
- All the Windows apps you use are likely already available (like Steam, Spotify, and Discord) via the [Pop!_Shop](https://github.com/pop-os/shop).
- The UI is much simpler than Windows, but more powerful than Windows.
- It's much faster and less bloated than Windows.
- It takes up less hard drive space than Windows.


### **You can install [Pop!_OS](https://system76.com/pop) onto a flash drive with [balenaEtcher](https://www.balena.io/etcher/) in just a few clicks.**
Docker 403 error with apache
Tags: help, docker
Published: 2020-01-31 13:12:10



Hi!

I am setting up a simple Apache server for my php project. Although everything seems to be well done, I am getting a forbidden message when trying to access the server on the browser.

The problem happens when I try to add a volume. You can see my Dockerfile here:

```
FROM php:7.3-apache

COPY . /srv/app 
COPY .docker/vhost.conf /etc/apache2/sites-available/000-default.conf
WORKDIR /srv/app

RUN chown -R www-data:www-data /srv/app \
    && a2enmod rewrite \
    && chown -R 775 /srv/app \
    && ls -al /srv/app
```

My docker-compose looks like this

```
version: '3'
services:
  app:
    build:
      context: .
      dockerfile: .docker/Dockerfile
    image: apache-docker
    ports:
      - 7070:80   
    volumes:
      - .:/srv/app:z 
```

If I comment the volume instruction everything is OK.

Can you tell me if there is something wrong with my config? 

## Edit

The vhost.conf
```
<VirtualHost *:80>
    DocumentRoot /srv/app/web

    <Directory "/srv/app/web">
        AllowOverride all
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
```
Learn programming languages through problem-solving
Tags: python, programming, coding, learn
Published: 2020-02-03 08:29:21

Lately, I came across a platform where programmers can practice problem-solving.

[Exercism](https://exercism.io/), as they say, is a well-organized platform having multiple tracks for the coders.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/qm7r5cz6cf8ktv6t2cd3.PNG)
*Tracks*

One must go and follow the Exercism way of problem-solving. The platform is intuitive in terms that it provides a way a share your solutions to a given set of problems and get the feedback if required.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/n8dlnndm2i4cs5onw7gr.PNG)
*Users' tracks*

One can opt for "Practice Mode" or "Mentor Mode" depending upon the preferences.

So if you want to learn and practice problem-solving, I would suggest you follow [Exercism](https://exercism.io/).

This platform provides a lot of tracks for programming languages, and tools.

*Happy Learning and Keep Learning !!*
Creating a Microfrontend Platform with Mashroom Portal on Kubernetes
Tags: microfrontends, kubernetes, mashroom
Published: 2020-02-03 08:24:44

Wouldn’t it be cool to deploy and operate Microfrontends just like Microservices in independent containers on an orchestration platform such as Kubernetes?

Here a short article that describes how to create such a platform: https://medium.com/mashroom-server/creating-a-microfrontend-platform-with-mashroom-portal-on-kubernetes-4bf4c9d60940
Finding a Mentor for front end development
Tags: tutorial, codenewbie, webdev
Published: 2020-02-03 08:23:42

Hi Sir/Mam,

Currently, I'm a newbie around here. I know that my burning passion keeps me motivated everyday to code. But sometimes I'm worried that if all of the things that I've been doing it correctly? So if someone you know that has front end development skills kindly I need your help. 

Please comment down below.

Best Regards,
Jay
Harmony Modern Slim Boilerplate - Part 1
Tags: php, laravel, slim, harmony
Published: 2020-02-03 08:12:13

---
title: Harmony Modern Slim Boilerplate - Part 1
published: true
description: "Build websites easily using Harmony Modern Slim Boilerplate. Equipped with artisan, eloquent, database migration and database seeders, also tinker."
tags: php,laravel,slim,harmony
---

# Introduction (About The Project)

This project created by *shit* developer. The reason he made this project was that he was stupid and could not develop to keep up with technological trends too quickly. Back again, he was indeed a fool. And he makes English-language documentation with [Google Translate](https://translate.google.com/) and one more thing you have to know; he made this documentation on each page with the source from [Slim 3](https://www.slimframework.com/docs/v3/) and [Laravel](https://laravel.com/docs/5.7/) Documentation.

Harmony Modern Slim Boilerplate is &copy; 2017 - 2020 by [Twitter - Imam Ali Mustofa](https://twitter.com/ddarkterminal) or [Github - Imam Ali Mustofa](https://github.com/darkterminal).

### License

[Harmony Slim Boilerplate](https://bettadevindonesia.github.io/harmony-docs/) is distributed by an [AGPL-3.0 license](https://github.com/harmony-betta/harmony/blob/master/LICENSE).

### Contributing

When contributing to this repository, please first discuss the change you wish to make via issue, email [Betta Dev Indonesia](mailto:bettadevindonesia@gmail.com), or any other method with the owners of this repository before making a change.
Why Arrow Function?
Tags: javascript
Published: 2020-02-03 08:04:57

Before knowing why to go with arrow functions. let us know what is arrow functions. Below is an example of normal function 

```javascript
//Normal Function

myfunction(){
    return 'I am a Normal Function';
}

```

Now We can write the above function in arrow function as shown below

```javascript

//Arrow Function

const myfunction = ()=>{
    return 'I am Arrow Function';
}

```

Suppose we want to send parameter in an arrow function then we can pass as 

```javascript

const myfunction = (name,age)=>{
    return 'My Name is'+name+','+age+'years old';
}


```

Now if we have a single parameter to pass then we can also write the function as

```javascript

const myfunction = name =>{
    return 'My Name is'+name+','+age+'years old';
}

```

Now the question is why this arrow function what's the use of arrow functions.
Let's take an example we have a class person which as a function personName() which in return console logs the name with a delay of 100 ms.

```javascript 
class Person{

constructor(name){
   this.name = name;
}

personName(){
    return setTimeout(function(){

        console.log('Name is '+this.name);
    },100);
}
}

per =new Person('Peter');

per.person();

//Output 'Name is Undefined';

```
So the output is not what we expected .. this says that this is now no more accessible in inner functions.
To solve this there is a solution we can simply bind this function to current objects as

```javascript

personName(){
    return setTimeout(function(){

        console.log('Name is '+this.name);
    }.bind(this),100);
}

****OR****

personName(){

    var that = this;
    return setTimeout(function(){

        console.log('Name is '+that.name);
    },100);
}

```


But this solution doesn't seem to a good solution ... so to solve this javascript came with an arrow function which knows from which context it has been called.
Below code shows that now this is accessible in the inner function


```javascript 
class Person{

constructor(name){
   this.name = name;
}

personName(){
    return setTimeout(()=>{

        console.log('Name is '+this.name);
    },100);
}
}

per =new Person('Peter');

per.person();

//Output 'Name is Peter';

```
Minhas humildes dicas para entrevistas em processos seletivos para o exterior
Published: 2020-02-03 08:00:57

Olá! Faz tempo que não posto algo novo. Mas como um presente de ano novo, gostaria de compartilhar algumas coisas que aprendi em processos seletivos.


Eu fiz algumas entrevistas ao longo da minha vida. Uma coisa que aprendi nisso tudo, é que você pode fazer uma entrevista por inúmeros motivos, além do óbvio, que é conseguir um emprego. Seja para praticar o inglês, conhecer outras empresas e como elas trabalham, entender seu valor no mercado… No fim, seja qual for o motivo, entrevistas para o exterior te fazem crescer como pessoa e como profissional.


Portanto, essas são minha humildes dicas para caso você queira fazer um processo para o exterior.


## Tente marcar entrevistas pela manhã.

Entrevistas pela manhã vão lhe ajudar a organizar seu dia melhor.

## Esteja disponível no computador onde fará a call, 10 minutos antes do combinado.

Essa dica complementa a anterior. Acorde pelo menos uma hora antes, tome um banho e um café da manhã leve. Use roupas confortáveis como uma camiseta por exemplo e verifique sempre se o lugar onde você fará a entrevista está fresco para que você não comece a transpirar durante a entrevista (sim, já aconteceu comigo hahaha).

## Tenha sempre uma aba do Google Tradutor aberta para ajudar em palavras pontuais.

Sempre bate aquele branco, não é mesmo?

## Esteja sempre atento ao fuso horário.
Fusos diferentes e horários de verão sempre são uma pegadinha. Estar atento a isso ao marcar a reunião é muito importante para não haver imprevisto.

## Escreva e treine antes.

Caso você esteja um pouco inseguro, escreva possíveis perguntas e o que você responderia na língua que será a entrevista.

Escreva perguntas comuns como: “conte-me um pouco sobre sua experiência” ou “por que você gostaria de se mudar para o país X?”.

## Seja você mesmo.

Não tente atuar ou ser outra pessoa durante a entrevista. Recrutadores entrevistam pessoas constantemente e podem conseguir detectar que você não está sendo verdadeiro.

## Procure estar aberto a dicas e feedbacks.

Mesmo que você acabe não passando na entrevista, peça dicas e/ou feedbacks ao final da entrevista. Por exemplo, se você estava inseguro com seu nível de inglês, pergunte se estava bom para o entendimento do recrutador.

## Sempre responda os e-mails o quanto antes, mesmo que seja uma resposta negativa.

Manter um canal aberto com um recrutador, é muito importante. Nunca se sabe o que pode acontecer, não é mesmo?

Por enquanto é isso… Se vocês gostarem, posso escrever sobre as dicas em desafios técnicos também.
Grande abraço e feliz 2020! ❤