teleren/devto huggingface dataset:
Docker cache for multi-module Maven project
Tags: docker, maven, cache
Published: 2021-08-16 20:14:47


This project demonstrates how to write a multi-stage Dockerfile for a multi-module Maven project, so that Maven dependencies are cached in the early Docker layers of a builder stage and also how to use a layered JAR to create cache layers in the final Docker image.

In this project the user-app module depends on a common module.

The full sources are in Github: https://github.com/pgpbpadilla/maven-multi-module-docker-cache
My goals for HNG 8.0 Internship with i4G
Published: 2021-08-16 12:23:10

I have been learning to code for the past 3 years. I have had to chance to tryout a few tools and work with some amazing friends on several projects. Earlier this year I finally realized I really enjoy working as a front-end web developer and decided to specialize.

I was lucky to find the [Zuri training](https://training.zuri.team) program through which I learned UI/UX design. I was then introduced to the [HNG Internship](https://internship.zuri.team) program by Zuri and Ingressive4Good. 

I intend to put in my best and push myself to learn and become a world class front-end web developer. HNG promises to help me achieve this goal in 8 weeks if I put in the effort and I will.

Some of the Technologies I'll be using are:

- HTML 
- CSS
- Javascript
- React

Below are some helpful tutorials I used to learn

Introduction to HTML and CSS
https://www.udacity.com/course/intro-to-html-and-css--ud001

Designing with Figma
https://www.figma.com/resources/learn-design/

Introduction to Git and Github
https://dev.to/wordssaysalot/an-introduction-to-git-and-github-2b99

Javascript for Beginners
https://www.freecodecamp.org/news/full-javascript-course-for-beginners/


To learn more about HNG internship at https://internship.zuri.team
SE Internship Log[3]
Published: 2021-08-16 19:59:00

---
title: SE Internship Log[3] 
published: true
description: ts-node `--require` flag, fs-jetpack, and showing up.
canonical_url: https://ruheni.dev/writing/se-internship-log-3/
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h5s0qk6vewwke0zey3ja.jpg
series: Software Engineering Internship Log
---

Hello there internet stranger, 👋🏽

This is the 4th installment of the Software  Engineering(SE) Log.

## Technical Skills

### Toolbox 🧰

This week, I'll share a some libraries/ tools I discovered that I found helpful:

#### ts-node `--require` flag

[`ts-node`](https://www.npmjs.com/package/ts-node)transforms TypeScript into JavaScript, which is executed in Node.js.

A useful flag I discovered is the `-r`/ `--require` that enables you to execute a file with an export (aka a module):

For example:
```ts
// path to file on your computer: /src/hello.ts
export function sayHello(){
  return "Hello there"
}
```

You can execute this file by running:

```bash
npx ts-node -r ./src/hello.ts
```

#### Reading and writing files with `fs-jetpack`

[`fs-jetpack`](https://www.npmjs.com/package/fs-jetpack) is a utility library that makes interacting with the file-system delightful.
This can be the CRUD of files and directories - creating, reading, updating and deleting.

## Soft Skills

### Consistency

Sometimes – or most times – software engineering gets tough. Tasks may be daunting, issues may be vague, or sometimes getting help/ feedback on a task may take a little longer than expected.

It's frustrating. The feeling sucks!

The frustration is part of the learning/ growth process.

There will be days you will crush it! 

And sometimes, the simplest of tasks can seem impossible.

What matters the most is showing up and making an attempt to fix and a bug, close an issue, or just give feedback on a project. 

A hack that I use to "trick" my brain to getting it done is starting with the simplest task to build up some momentum. For example, opening VS Code, starting the app server, and breaking something to try fix it.

Or, take a break. It's totally fine.

I've discovered that I get most of my eureka moments when I take a walk, I'm in the shower or lying on the bed _– thinking about the finality of death and how life is meaningless and we're all going to die someday and nothing we do matters._

💡

Till next week. ✌🏽
My Goals 
Published: 2021-08-16 20:08:12

I am a front end developer who is familiar with React framework and by the end of this 8 weeks HNG internship, i want to improve my front-end coding skills, to be able to work with other developers to solve tasks and finally to start a career in web development.

https://internship.zuri.team/

JavaScript tutorial: https://youtu.be/W6NZfCO5SIk

Figma tutorial: https://youtu.be/FTFaQWZBqQ8

Git tutorial: https://youtu.be/USjZcfj8yxE

React tutorial:
https://youtu.be/Ke90Tje7VS0
My HNGi8 Internship Goals
Tags: html, git, python
Published: 2021-08-16 20:06:24

My name is Olukunle Joseph Tomisin. I am a backend developer(Python). I am happy to be among the 10,000+ interns starting this internship journey at HNG.

Although, the HNG internship program isn’t entirely targeted at complete beginners, I am sure I will do very well and get the best out of it because I was successfully able to participate in the Zuri Training Program https://internship.zuri.team/.

During the Zuri Training Program, I had an awesome experience. I was able to learn about programming including python, and worked on several tasks that helped me master my coding skills. With my experience from the Zuri Training Program, I am very excited to be a part of the HNGi8 internship and I know that I will be successful thanks to the Zuri mentors.

Listed below are my goals and what I plan to achieve at the end of my internship with HNGi8:

1. To improve on my skills and become an effective and productive backend developer
2. To improve on my problem solving skills
To strengthen my team work ability
3. To improve my problem analytical ability by analyzing technical problems and proffer solutions
4. To connect with awesome likeminded software developers

Also listed below are a few links to some beginner tutorials that would assist a newbie to the tech world:

Figma: https://www.youtube.com/watch?v=FTFaQWZBqQ8

Git: https://www.youtube.com/watch?v=8JJ101D3knE

HTML: https://www.youtube.com/watch?v=qz0aGYrrlhU

Python: https://www.youtube.com/watch?v=_uQrJ0TkZlc

Hope this was a fun read.
My Goals
Published: 2021-08-16 20:05:24

 am a front end developer and by the end of this 8 weeks HNG internship, i want to have improved my front-end coding skills, to be able to work with other developers to solve tasks and finally to start a career in web development.

https://internship.zuri.team/

JavaScript tutorial: https://youtu.be/W6NZfCO5SIk

Figma tutorial: https://youtu.be/FTFaQWZBqQ8

Git tutorial: https://youtu.be/USjZcfj8yxE

React tutorial:
https://youtu.be/Ke90Tje7VS0
My Goals for KodeCamp 2021 Internship Program
Tags: kodecamp, hngi8, zuritraining
Published: 2021-08-16 19:58:07

Hi Guys!!!

My name is Reginald Abie Pepple and I'm a part of the UI/UX Design track at #KodeCamp. Here I would briefly explain what my goals are for joining this internship program. 

**My Goals are Pretty Simple

First, to Learn🎒 - I see this internship a Growth opportunity. It may not be 100% packed, however I believe learning is a life long pursuit.

Secondly, to Innovate🆕 - At some point, the interns would be split into teams, consisting of members of different tracks. This would allow me to bring something new whilst we build on what we've learnt, allowing me to work on my teamwork, collaboration and communication skills. 

Thirdly, to Surpass🎓 - Getting to a point of excellence. I intend to learn from my mistakes and make better choices as I pave my way to expand on what I've learnt and also impact on others thus becoming a master builder.

**Conclusion

The thought of scaling through this internship program isn't about the money, or the fame. It's about being able express myself, to do and be kind of person I want to be with each step.

It's not about the skill, it's about who I become👨‍🎓.
5 JavaScript internationalization libraries that look interesting
Tags: javascript, i18n
Published: 2021-08-16 19:49:36

I've been in angular(.js) bubble for a pretty long time. During this, I was happily using some framework-specific tools for managing translations - mostly [angular-translate](https://angular-translate.github.io/). Unfortunately, those tools are limited to the framework and don't help in another context.

# Key considerations
What I liked about the setup I had so far:
* short key names - I prefer `t('abstract_keys')` over `t('The source language message')`, as it takes less space in the code
* JSON translation files. With abstract keys, they could even be scoped by adding dots to the translation keys
* tooling for automatically extracting keys from source code & adding them to all language files

On top of that, now I want framework independent solution. Internationalization (i18n) is a problem complex enough to have some serious thinking invested in it, and it's completely unrelated to problems solved by JS frameworks.

# First impressions
I did a quick search to see what's out there. Some libraries seemed very suspicious just by the look by the websites; others failed to point towards covering points I listed above.

## [i18next](https://www.i18next.com/)
i18next looks the most impressive - it looks more like a translation ecosystem than just an i18n library. I would need to experiment with it a bit to really tell how well it delivers its promises, but definitively it is at least trying to address all my considerations.

## [polyglot.js](https://airbnb.io/polyglot.js/)
A library from Airbnb - they do well with i18n, so it's worth taking a look.

## [LinguiJS](https://lingui.js.org/)
At least the documentation looks like from the current decade. It can be worth checking.

## [fluent](https://projectfluent.org/)
A solution that tries to cover all possible edge cases of applying genders, complex plurals for languages with less straightforward grammar - for example, Polish. 

## [Rosetta](https://github.com/lukeed/rosetta)

> A general purpose internationalization library in 292 bytes 

I want to see it in action! And how far you can get with such a minimalistic solution.

# And you?
What are your thoughts about i18n in JS? Any library you would recommend me to add or remove from my list?
HNG Internship 8.0
Published: 2021-08-16 19:42:32

Hotels.ng Internship, partnered by Ingressive For Good have thrown the gates wide open for the 8th edition of the HNG Internship 8.0.

The Mark Essien and Seyi Onifade-led internship has proven time and again to be one of Nigeria's best accelerator programs for tech geniuses all over Africa to showcase their skill and hopefully get absorbed into a full time role when they apply for jobs after the 8 week program. 

For a lot of rookie and even expert developers, this internship offers the opportunity of improving their collaborative skills in the tech ecosystem, building lifelong friendships and networks as well as the invaluable experience of realtime work environment simulations. Applications to join the internship will be closing on Tuesday and prospective applicants can join [here](https://internship.zuri.team).

**I am currently trying to advance my skills as an expert Frontend developer and I have decided to join this internship with the aim of achieving the following goals:**

*  To attract valuable work contacts and hopefully get an important stepping-stone to securing a job and climbing the first rung on my career ladder.

* To develop critical and requisite work skills and get the edge over competition in the industry.

* I would also like to get even further out of "tutorial hell", gain experience beyond the books and explore unexpected avenues.

* To work on exciting work projects and have valuable experiences to talk about with future recruiters at interviews.

**At the end of 8 weeks, I want to have attained a level of independence in starting out my own major projects. Taking away lots of experience is really key for me**

If you somehow stumbled on this article and want to make a quick transition into tech, you can take a refresher course to get familiar with the following links to help you kickstart your journey. 

TAKE NOTE THAT THE FOLLOWING LINKS ARE TO GET YOU FAMILIAR WITH THE SPACE. 

I recommend starting with HTML and CSS 
**HTML AND CSS**
https://youtu.be/mU6anWqZJcc


You could then have a look at JavaScript or a programming language like python. It all really depends on which appeals to you but I took the liberty of adding JavaScript and Python.

**Full Javascript course for beginners**
https://youtu.be/jS4aFq5-91M

**Python for beginners**
https://youtu.be/_uQrJ0TkZlc

You should also learn version control because you would need it every other time for collaborating with other developers in building projects.
**Getting started with GIT**
https://youtu.be/8JJ101D3knE

You should also check out this refresher to know how to implement pixel perfect designs from Figma.

**Figma tutorial for beginners**
https://youtu.be/Gu1so3pz4bA

If backend is more like your thing, you could check this out too
**Backend with Node.js**
https://youtu.be/Oe421EPjeBE

And if you like Mobile Development, you could start here as well.
**Mobile development with Flutter**
https://youtu.be/pTJJsmejUOQ

It is a fast-paced internship but I will do my best to share my experiences. Ciao.
Mastering JS' 5 Best Promises Tutorials
Tags: javascript, codenewbie
Published: 2021-08-16 16:50:22

[Promises](http://masteringjs.io/tutorials/fundamentals/promise) are one of the most important concepts in [JavaScript](https://masteringjs.io/). It is nearly impossible to write a modern JavaScript app without a [`then()` function](https://masteringjs.io/tutorials/fundamentals/then) popping up somewhere.

Since promises are so fundamental to modern JavaScript, it pays to really understand how promises work in depth. With that in mind, here's some of our most popular tutorials on promises:

1) [The Promise then() Function in JavaScript](https://masteringjs.io/tutorials/fundamentals/then)

The `then()` function is the primary way you interact with promises. Here's how it works.

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

2) [JavaScript Promise Chaining](https://masteringjs.io/tutorials/fundamentals/promise-chaining)

The `then()` function is used for _chaining_ promises. This tutorial explains what it means to chain promises, and how you can chain promises like a pro.

3) [JavaScript Create Promise](https://masteringjs.io/tutorials/fundamentals/promise-create)

The `then()` function helps you work with promises, but how do you [create a promise](https://masteringjs.io/tutorials/fundamentals/promise-create) in the first place? This tutorial shows you how.

4) [The Promise `catch()` Function in JavaScript](https://masteringjs.io/tutorials/fundamentals/catch)

The `catch()` function is a commonly used pattern for handling errors in promises. Did you know that `catch()` is a one-line syntactic sugar on top of `then()`? This tutorial explains how `catch()` works.

5) [The `Promise.all()` Function in JavaScript](https://masteringjs.io/tutorials/fundamentals/promise-all)

The `Promise.all()` function is how you execute multiple promises in parallel. It is especially useful for executing multiple [async functions](https://masteringjs.io/tutorials/fundamentals/async-await) in parallel and waiting for all of them to finish. This tutorial explains how `Promise.all()` works.
My Goals for the Zuri Internship
Published: 2021-08-16 19:35:39

My name is Doro Onome Churchill. I am a skilled junior Frontend Developer proficient in HTML, CSS, JavaScript, React, Git and Github.
 I joined this internship program https://internship.zuri.team hoping to meet and work with new developers like myself. During this 8 weeks course, I hope to be able to build new and exciting real world projects which will further improve my skill set.
I strongly believe this internship is a big opportunity to broaden my horizons in my tech career.
The experience I will get from working with different kinds of people will help me develop my communication skills while working in a team. I also believe this internship can take me to the next level as I will experience working under pressure and producing top-notch industry standard software. 
 I am as hardworking as I am ambitious, and I am ready to dedicate my time and energy to the various tasks that I and my team will be given during this 8 weeks program. 

Below are some tutorial links for Figma, Git and JavaScript. 

Figma: https://www.youtube.com/watch?v=WhlNnf1711M

Git: https://www.youtube.com/watch?v=8JJ101D3knE

JavaScript: https://www.youtube.com/watch?v=PkZNo7MFNFg
TypeScript - Enum to Array
Tags: typescript, javascript, react
Published: 2021-08-16 19:18:04

---
title: TypeScript - Enum to Array
published: true
description: Learn how to convert a fixed enum domain in an array, to be used with screen selections and translations.
tags: typescript, javascript, react
//cover_image: https://direct_url_to_image.jpg
---

I'm working with some enums to ensure the typing for my models. But now, I needed to create a select box with that. I'll explain how to do that.

Considering a key/value enum, you can use the Object.entries to extract the data and create the array.

```typescript
export enum EventModel {
  REPAIR = "Repair",
  PREVENT = "Prevent",
}

export const EventModelList: {
  key: string;
  value: string;
}[] = Object.entries(EventModel)
  .map(([key, value]) => ({ key, value }));
```

So cool... but, if you have an enum without key=value association?

In this case, you need to get the values and filter only strings:

```typescript
export enum OtherModel {
  MODEL_A,
  MODEL_B
}

export const OtherModelList: {
  value: string;
}[] = Object.values(OtherModel)
  .filter((value) => typeof value === "string")
  .map((value) => ({ value: value as string }));

```

It was necessary because each value without an association generates two values: the key itself and the value (a number).

I created a simple sandbox to test that: [codesandbox:ts-enum-as-array](https://codesandbox.io/s/ts-enum-as-array-7f9f6?file=/src/index.ts)
HNGi8 x 14g INTERNSHIP
Published: 2021-08-16 19:16:18

HNGi8 x I4G INTERNSHIP
First and foremost I would like to say a very big thank you to ZURI, INGRESSIVE and HNGi8 for this awesome opportunity to learn. After coming across frontend development few months back, I have always sought out ways to learn and further advance myself as a developer and HNGi8 has given me that opportunity. My expectations for this internship are quite large. It is my desire that after these 8-weeks of brain storming sessions, challenging tasks coupled with the great mentors and amazing team members, I should be able to at least build my own site for starters and also work with fellow developers to build amazing products that will meet a variety of needs.

After reading this and you feel the need to join you can do so via this link https://internship.zuri.team/

These are some of the materials that can guide you as you begin this journey as a developer. Feel free to check out the tutorials.
https://www.youtube.com/watch?v=SWYqp7iY_Tc&t=1227s
https://www.youtube.com/watch?v=yfoY53QXEnI
https://www.youtube.com/watch?v=qz0aGYrrlhU
https://www.youtube.com/watch?v=jk1T0CdLxwU

PS: This is my first article.. feel free to leave your comments below..
How to upgrade Ubuntu with only one command
Tags: linux, cli, ubuntu
Published: 2021-08-16 19:13:23

A few days ago I got a VPS server on which I have an outdated Ubuntu operating system, so I started researching how to upgrade the server to a newer version.

It's easier than it sounds.

First, we can connect to our server, we do this using an SSH client (I use [MobaXterm](https://mobaxterm.mobatek.net/))


![Terminal successful connected](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2fncfj6mf0xneu4fmdue.png)
 

When we connected to our server.

First, we update all the software to keep the jump between programs to the smallest.

```bash
sudo apt-get update
```

And then again.

```bash
sudo apt-get upgrade
```

Once the applications are updated, we can upgrade our operating system to the next LTS (Long Time Support) version with the command:

```bash
sudo do-release-upgrade
```

The command has several options, but only the above command is enough to update.

![Options of command](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/31zgy9kw6o5jmr8vjodj.png)
 
An upgrade report will be displayed below. This is accepted by entering `Y` and pressing the` ENTER` key and the upgrade process will be performed.


![Prompt for update](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/07dwsqwezy5uq9jkvx0m.png)
 

Then we wait. We will be notified in the meantime to choose a keyboard layout. We choose it according to what we have.

The process takes about 20 minutes, depending on your internet connection.

If everything went fine, then we restart the server with the command:

```bash
reboot
```

If Ubuntu has been upgraded, check with the following command:

```bash
lsb_release -a
```

I hope this guide was helpful.🤗
My Post-Covid Frontend Internship journey starts now and i am more than excited !!
Published: 2021-08-16 19:13:01

Hello World!
Today I begin my journey of mastering frontend software development by focusing on Reactjs. I have made multiple attempts in the past by following tutorials on YouTube, on Udemy and using a multitude of web resources but to no avail. I simply lost focus after a couple of days.

So what sets today apart from all the times I had got close enough to giving up? Today i have resolved to start an online internship on https://internship.zuri.team.
I have heard positive news about the organizers of this internship from their training program on https://training.zuri.team  and I am positive to scale through it successfully.

So for the next 8 weeks I will do well to apply myself to complete all tasks as may be required of my. By so doing, I will master the technologies which will set me apart from my contemporaries. 

I will be following these resources to assist me learn specific technologies as well:

Learn Figma Basics, part 1: Introduction to Figma User Interface. This can be located here https://dev.to/raoufbelakhdar/learn-figma-basics-part-1-introduction-to-figma-user-interface-13l8

I will review my git and GitHub knowledge from the resource below
https://dev.to/unseenwizzard/learn-git-concepts-not-commands-4gjc

As well review my HTML and CSS knowledge with the view of converting them to react components as the internship progresses using the resource below
https://dev.to/fahimkabir/9-responsive-website-tutorials-with-html-css-javascript-bootstrap-step-by-step-56ng

And finally i will like to dig deeper to understand the bolts and nuts behind the JavaScript language using https://javascript.info/

Thank you https://zuri.team for making this possible. I do hope to enjoy myself whilst gaining relevant experience to build world class software.