teleren/devto huggingface dataset:
[React] Treating warnings as errors because process.env.CI = true.


Published: 2021-06-24 14:48:18


```c
yarn run v1.22.10
$ react-scripts build
Creating an optimized production build...

Treating warnings as errors because process.env.CI = true.
Most CI servers set it automatically.

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.


---End of Oryx build logs---
Oryx has failed to build the solution.
```


This problem occurs when you push code with warning in console.

To disable this, follow these steps :

1. go to your `package.json`
2. add `CI=false` into scripts > build like below

```c
{
"scripts": {
    "start": "react-scripts start",
    "build": "CI=false react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
}
```


Then you can push the code again ! 
It should be successfully pushed.
Jak zrobić quiz wielokrotnego wyboru
Published: 2021-06-24 14:43:18

Quizy wielokrotnego wyboru to jedne z najskuteczniejszych sposobów sprawdzenia wiedzy uczniów. W tym artykule pokażemy, jak zrobić quiz wielokrotnego wyboru z iSpring Suite w 8 prostych krokach.
Przewodnik krok po kroku do tworzenia testów online wielokrotnego wyboru

Czytaj dalej > https://www.ispring.pl/blog/jak-zrobic-quiz
Programy do tworzenia quizów: lista 7 najlepszych narzędzi 
Published: 2021-06-24 14:41:41


Jeżeli wybierasz program do tworzenia testów i jesteś przytłoczony jego licznymi funkcjami, ten artykuł Ci pomoże. Oto popularne programy do tworzenia quizów, które porównaliśmy, abyś mógł zdecydować, który z nich najlepiej pasuje do Twoich codziennych zadań i przepływu pracy.

Czytaj dalej > https://www.ispring.pl/blog/programy-do-tworzenia-quizow
Reverse Engineering a platform
Tags: reverse, engineer
Published: 2021-06-24 14:30:05

---
title: Reverse Engineering a platform
published: true
description: A reverse engineering experience
tags: reverse, engineer
//cover_image: https://direct_url_to_image.jpg
---

Hey folks, today's post is about a reverse engineering work I had to do for a platform and what I found by doing it 💪

A while ago I acquired a web platform with an android client for a very entertaining project. The backend was written with Symfony 2.X and the client was a native android app written in Java.

Long short story, the backend was a complete headache. I had to deal with different configurations for the server given it was aimed for PHP 7. A lot of deprecations had happened since then so you can picture it. The first setup was good enough, but I ran out of lucky for the 2nd 🤯, this led me to create my 100% (almost there) compatible backend.

Version 1
I started by consuming all API endpoints to figure out what responses look like. I blue-printed the web admin views to replicate the same functionality, and after a thorough debugging to the database I was able to create the same relations with some tweaks for a better integration. This work took me like two weeks but I ended up with an easier and well-known backend.

The android app didn't require too many changes. I basically changed the interfaces, some texts translations and added some validations. Version 1 was a pretty straight forward work.

Update to version 2:
The mess came with the update, because I changed things and it was necessary to understand what should happen next in order to place it into the app. It costs me two rounds, and a hell of debugging. This is basically how you learn to reverse engineering, things must follow a flow and you need to chunk it into small pieces so they can fit. Discover the rules and validations might be the hardest part, try and failure over and over.

![Bob's sculpture](https://media1.tenor.com/images/bf5435861513b64b9ae54eec103a6526/tenor.gif?itemid=4614296)
Graphic explanation, thanks bob

Finally I could achieve the expected behavior and things continue working smoothly. It has been a good experience. Now that I have forked the project every new change is easier to me. I could go deeper with advanced android topics as well. This is a practice I completely recommend to everyone in their spare time. Keep coding and keep failing ✌  
&nbsp;

> *This post was originally published on [https://eichgi.hashnode.dev/reverse-engineering-a-platform](https://eichgi.hashnode.dev/reverse-engineering-a-platform)*
VMUG Recording – Understanding Data Protection for your VMware Tanzu Container Workloads
Tags: kubernetes, backup, dataprotection, tanzu
Published: 2021-07-01 17:43:07

---
title: VMUG Recording – Understanding Data Protection for your VMware Tanzu Container Workloads
published: true
date: 2021-06-24 14:27:01 UTC
tags: Kubernetes,backup,DataProtection,Tanzu
canonical_url: https://veducate.co.uk/vmug-data-protection-tanzu/?utm_source=rss&utm_medium=rss&utm_campaign=vmug-data-protection-tanzu
---

As part of my virtual VMUG tour, I submitted a session to the VMUG call for papers covering the subject of Data Protection for Tanzu Kubernetes workloads. (Most of this will apply for any Kubernetes environments).

This was picked up by Erik at the Belgium VMUG for their UserCon in June 2021. After the session the videos remain available on demand for a short time, but there were no plans to upload this for everyone. So thank you to [Michael Cade](https://twitter.com/michaelcade1), whom offered to host this session for all on the [Cloud Native Data Management](https://cndmday.com/) – [YouTube Channel](https://www.youtube.com/channel/UCADnutGdT2AuSJXsaGWEkgg).

In the below session I cover the following areas;

- ​What kind of data protection do you need?
- ​Velero
  - The open source data protection project from VMware
- ​Tanzu Mission Control
  - The Kubernetes fleet management platform that utilizes Velero from VMware.
- ​3rd Party Options
  - A nod to the 3rd party ecosystem that offer enterprise Data Protection and Management software such as;
    - Kasten
    - PortWorx

There is even a quick technical demo in there, with a little technical hiccup I had to style out!

{% youtube KJBXxnVOyK8 %}

Regards

[Follow @Saintdle](https://twitter.com/saintdle)<script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

[Dean Lewis](https://uk.linkedin.com/in/saintdle?trk=profile-badge)

The post [VMUG Recording – Understanding Data Protection for your VMware Tanzu Container Workloads](https://veducate.co.uk/vmug-data-protection-tanzu/) appeared first on [vEducate.co.uk](https://veducate.co.uk).
Simple way to serialize objects to JSON in TypeScript
Tags: typescript
Published: 2021-06-24 14:21:09

When we’re building an application we often need to serialize objects to JSON for storing them in a key value store (e.g. Redis) or publishing them on a queue.

While there are libraries available like [class-transformer](https://github.com/typestack/class-transformer) or [io-ts](https://github.com/gcanti/io-ts), there's an easier way to serialize/unserialize objects to JSON.

[class-transformer](https://github.com/typestack/class-transformer) depends on the `reflect-metadata` package. Read [this blogpost](https://dev.to/svehla/why-reflect-metadata-suc-s-5fal) to know why you should be careful with depending on this package.

[io-ts](https://github.com/gcanti/io-ts) requires knowledge of some functional programming concepts. While I'm a big fan of functional programming, it's not for everyone. (The library is very well designed though)

In both cases we also need to depend on an extra package.

[We want to keep our dependencies as small as possible.](https://medium.com/hackernoon/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5)

What none of these packages offer is a way to deal with backwards compatibility (e.g. when you've added or renamed a property of an object).

I also want something simple.

Let's say we want to serialize a user with an email [value object](https://martinfowler.com/bliki/ValueObject.html) to JSON:

```ts
class Email {
  constructor(private readonly email: string) {
    if (!this.email.includes("@")) {
      throw new Error(`Not an email address: ${this.email}`);
    }
  }

  asString() {
    return this.email;
  }
}
```

```ts
class User {
  constructor(
    private readonly id: string,
    private readonly email: Email
  ) {
    if (!this.id) {
      throw new Error("User ID cannot be empty!");
    }
  }

  private toObject() {
    return {
      id: this.id,
      email: this.email.asString(),
    }
  }

  serialize() {
    return JSON.stringify(this.toObject());
  }

  static fromSerialized(serialized: string) {
    const user: ReturnType<User["toObject"]> = JSON.parse(serialized);

    return new User(
      user.id,
      new Email(user.email)
    );
  }
}
```

```ts
const user = new User("id", new Email("john.doe@acme.com"));
const json = user.serialize();
```

```ts
const json = await redis.get(key);
const user = User.fromSerialized(json);
```

* We add a `private toObject()` method that returns a plain object for the `User` (since JSON is not aware of classes).
* We add a `serialize()` method that returns the plain object as a JSON string.
* We add a `static unserialize(serialized: string)` method to recreate the `User` instance. `JSON.parse` has `any` as return type, which results in no type checking or autocompletion. We can grab the return type of the `toObject()` method with `ReturnType<User["toObject"]>` to regain type checking/autocompletion.
* Always guard against invalid state in your entities. This makes sure that a `User` always has an ID and a valid email address.
* Look ma, no packages needed!

Let me know if this blogpost was useful! 😊
Magento Upgrade Service - MageMonkey
Tags: magento, php, programming
Published: 2021-06-24 14:09:29

At MageMonkeys, our dedicated experienced Magento developer team will help you to smoothly perform Magento Upgrade Service.

Risk-Free and Without Data loss [Magento Upgrade service](https://www.magemonkeys.com/magento-upgrade-service/)

Core Magento Upgrade Service

Seamless Database Migration

Improve Performance

Improve Site Speed

Zero Downtime

Delivery on Given Time.

For Upgrading your Magento store or for more information please visit our website MageMonkeys.com.
Basic JavaScript - Comments, Data Types, Variables
Tags: javascript, programming
Published: 2021-06-24 14:04:58

Topics:
1. Comments 
2. Data Types
3. Variables

> **Comments**

- Comments are lines of code that JavaScript will ignore. Comments are used to leave some notes to your future self and to other people who will later open your code.
- There are two ways to type comments in JS.
- // is used for inline comment.
- /**/ is used for multi line comment.
- /** */ is used for documentation
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikygv4ohsd85ts4h084f.png)

> **Data Types**

- Data is anything that is meaningful to the computer. Like we have videos, texts, songs, etc. In general we can say a text a data type, we can't store a video in a text file or a text in a video file, they are different data types.
- JavaScript provides eight different data types which are undefined, null, boolean, string, symbol, bigint, number, and object.
- number - 1,2,3...
- strings - "abcd.."
- boolean - true, false 
- etc

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/456olk8p4vp2dbssjfm6.png)


> **Variables**

- Variables are similar to the x and y variables you use in mathematics but in computer we use variable to point to some value, means they are just a simple name referring at some value.
- In JavaScript we can define variable in different ways.


This is just a basic intro from my side, you can learn more from:
- https://dev.to/amritanshu/top-courses-to-learn-javascript-43ah
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9887kcivam921s16ef8q.png)
Install mongodb 4.4 to arm64 amazon Linux 2
Tags: mongodb, aws, amazonlinux2, arm64
Published: 2021-06-24 13:43:47

---
title: Install mongodb 4.4 to arm64 amazon Linux 2
published: true
description: 
tags: mongodb,aws,amazonlinux2,arm64
//cover_image: https://direct_url_to_image.jpg
---

Recently I've tried to install mongodb to the arm64 amazon linux.
Because AWS Graviton 2 instances are cheaper than the other architecture instances.

Here is how you install mongodb community to the arm64 amazon linux.

## The problem

According to the official [document](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon/), MongoDB Community Edition on Amazon Linux supports the arm64 architecture but there aren't any instruction how you install it 😭

I modified a bit of `/etc/yum.repos.d/mongodb-org-4.4.repo` from their document and see if it works, but it doesn't work...

```diff
[mongodb-org-4.4]
name=MongoDB Repository
- baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64/
+ baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/arm64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
```


## The solution

You first need to have installed `mongodb-database-tools` as the `mongodb-org` package depends on it.
Then you'll be able to install `mongodb-org` package.
Here is the way how you do that.


### Add mongodb-database-tools yum repo

Create a `/etc/yum.repos.d/mongodb-database-tools-4.4.repo` file.

```
[mongodb-database-tools-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/arm64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
```


### Add mongodb-org yum repo

Create a `/etc/yum.repos.d/mongodb-org-4.4.repo` file.

```
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/aarch64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
```


### Install both packages 

You just need to run `yum install` command:

```bash
sudo yum install -y mongodb-database-tools mongodb-org
```

Then you'll have installed mongodb on your server.
Stop Telling Devs What To Do w/ GitHub's Dana Lawson
Tags: leadership, engineeringmetrics, devteamculture, positivity
Published: 2021-06-24 13:32:41

As the VP of Engineering at GitHub, Dana Lawson’s team makes decisions that change the development workflows for millions of people at a time. On this episode of [Dev Interrupted](https://devinterrupted.com/podcast/stop-telling-devs-what-to-do/) we chat about the role of technical leadership, how to implement continuous improvement, and how positivity relates to dev team culture. 

#**Listen to the full episode**
{% spotify spotify:episode:01zgb4v7m9pgGL5slH55Pu %}

#**Episode Highlights include:**
* The real role of technical leadership
* What [engineering metrics](https://linearb.io/blog/custom-metrics-dashboards/) Dana tracks at GitHub
* How to implement continuous improvement workflows
* How positivity relates to productivity in engineering culture

{% youtube 9UPJdA2jJdI %}

#**Join the Dev Interrupted Discord Server**
With over 1200 members, the Dev Interrupted Discord Community is the best place for Engineering Leaders to engage in daily conversation. No sales people allowed. [Join the community >>](https://discord.gg/tpkmwM6c3g)
![Join the Dev Interrupted Discord Community!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/19j3dzgz4r4kzav3w6z8.png)
Where HTML Started it's Journey
Tags: html
Published: 2021-06-24 13:29:37

Web Development or Website Designing both need HTML Structure. When beginners start their journey in Website Designing and Development, they have to start with HTML.
When we want to step further, let's start with knowing the birth of HTML. HTML was developed or designed by Tim Berners-Lee in late 1991. We read many articles, it was not officially launched or released, but we can say not formally dismissed.  It took time and was finally published in 1991 as knowingly HTML 1.0. Then after a long time, the first version of HTML was released, known as HTML 2.1, and was officially published in 1995. This was an excellent achievement designing and was called a major version of HTML announced and launched. 

You might know that HTML is a markup language, not a programming language. Therefore, it has various versions updating, and in the year 2021, HTML5 is worldwide. The good thing about HTML is that it allowed its user to create beautiful web pages looking excellent and prettier and make sites looking very creative and productive.
Now Let's go to know more about HTML's second version when the second version of HTML was published in 1995, containing all the features of HTML 1.0. This was released along with additional features. All those features have remained as the official standard markup language for New look of <a href="https://www.trickyenough.com/website-design-mistakes/">Website designing</a> and creating websites.

After Tim Berners-LeeThen, Dave Raggett introduced a newly released HTML 3.0 of HTML. It was developed with new HTML tags features presenting more powerful features for designing web pages. Before it was released, many things were not allowing users to do a creative thing, but finally, users could make great things after release. 

HTML 4.01 was a successful HTML that is still widely used. Then HTML 5 came with additional elements, which are mentioned below. HTML5 is used widely. When I was <a href="https://www.trickyenough.com/how-to-activate-facebook-dating/">looking to Activate Facebook Dating</a>, then I thought to look for its HTML Structure so that I could understand how I should make a dating web page. Suppose your research for Facebook, Twitter, Instagram, or any other social media. You will find that HTML5 is used on most pages. Listed Tags are mentioned below. 
In Conclusion about HTML's History... 
This post might be useful to know about History of HTML.
React vs Angular vs Vue (briefly)
Tags: react, angular, vue, javascript
Published: 2021-06-24 13:28:31

The Angular’s Core contains most of the functionalities you might need in your application, while with React and Vue, you have to find external libraries, maintained by independent contributors. Luckily most of the basics one, are maintained by the same people that maintain the core. Therefore, when working with React and Vue, you have to be more careful when choosing libraries, being aware that libraries with a poor maintenance might be deprecated in future.

# Coding style
To build an app with Angular you have to learn Typescript, which is a superset of JavaScript, while with Vue and React you can use pure JS. Regarding the view, with Angular and Vue you write it with HTML, where in React you have to write JSX, which is a syntax that allows coexistence between HTML and JS. Thus, Angular and Vue are ideal if you want to reuse HTML from a huge codebase.

# Model
Vue and React use a Virtual DOM (VDOM), which is a node tree listing content, and elements and their attribute as objects and properties. The browser DOM is not updated directly but instead, they use the VDOM as abstraction layer. On the other hand, Angular is based on the MVC pattern and manipulates the DOM directly. Changes in your application will update it without any middleware.

# State
As common, when creating our apps, the components will have their scoped state, and Angular, and Vue works in a way that the data is mutable. User inputs and code can modify the state directly. In React, the state is immutable. To update it, you have to use a specific function that will do it asynchronously.

# Community
Angular and React have a powerful community behind. Angular was created by Google, and React by Facebook. Therefore, both have longer life expectancy. Whereas Vue, is an open source project, created by Evan You. Nevertheless, Vue gained a huge fame, because the creator’s idea was to take the best of the other two. From Angular, it took similar templates with good syntax, and from React, it got many features, specially the component-based approach. Vue is actively maintained, with almost 300 contributors and supported by many big companies.
Making a Discord bot with Python
Tags: python, beginners, tutorial
Published: 2021-06-24 13:28:06

Discord is a large communication platform that has been immensely popular among gamers, but in recent years has expanded its reaches to anyone looking to create or get involved in a community of any size. It has a wide range of different features and is extensible with bots, which is partly why it’s so popular.

I’ve had experience making Discord bots before, and I am actually a verified bot developer (which just means I was among the first people to get a bot verified on the platform). Whilst I’m definitely a long way from being a top developer, I do have intermediate experience with making bots in discord.py, and I’ll be walking you through getting a bot setup and making your first few basic commands in this simple tutorial.

For this tutorial, you’ll require:

    A Discord account
    An IDE with Python support (I’ll be using VSCode)
    Python installed on your device, with access to Pip

I would also recommend:

    Basic Python knowledge
    Moderate knowledge of how to use Discord

(If you have any problems, feel free to reach out to me through the comments and I’ll do my best to try and fix your issue)

When you're ready to get going, you can view the full tutorial for free here: https://www.saluki.tech/2021/06/19/making-a-discord-bot-with-python/

You'll also be able to get speedy help with any problems you may have by commenting.
Email and Messaging Overload, and Too Many Slack Conversations to Keep Track Of?
Tags: productivity, paco, devops, slack
Published: 2021-06-24 13:24:05

---
title: Email and Messaging Overload, and Too Many Slack Conversations to Keep Track Of?
published: true
description: Overflowing Messaging inboxes do impact our productivity. Read a fantastic piece on this productivity paradox
tags: productivity, paco, devops,slack
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xaxxediyixpa7zstnte6.png
---

Overflowing Messaging inboxes do impact our productivity, and the message overload on Slack continues to be an ever-increasing issue. The pain is real!  
  
Celebrated Author Cal Newport has a fantastic piece on the productivity paradox 👇  
  
[https://www.wired.com/story/email-slack-productivity-paradox/](https://www.wired.com/story/email-slack-productivity-paradox/)


***

Do you have more ideas💡? Share in the comments✍ !
Databunker - a new vault project
Tags: datasecurity, privacy, cybersecurity, gdpr
Published: 2021-06-24 13:19:42

Today, I'm really excited to share the #opensource project we've been working on at [Privacybunker.io](https://privacybunker.io/) for a while – [Databunker](https://github.com/securitybunker/databunker)🚀🚀🚀!

**Databunker** is a special secure vault for customer records. It is easy to integrate with the existing code. And it matches the needs of **privacy by design compliance**.

It can be easily integrated with existing #CRMs, #email marketing services, #e-commerce web-sites, #HR systems and #Node.js applications.

It allows following:

1. Seamless encryption of customer data. You can easily lookup user records by the field: email, phone, token, custom index without exposing customer PII/data in clear text.

2. Automatic privacy compliance in accordance with GDPR / CPRA requirements.

3. To provide secure storage for personal data.

Developing a new project? Want to target European customers? Look no further! Our product solves compliance in the most cost-effective way: https://databunker.org/

We would really appreciate your reviews and will be happy to assist with any questions by mail: office@privacybunker.io