teleren/devto huggingface dataset:
Rise of the DPE (Developer Productivity Engineer)
Tags: productivity, mentalhealth, developerproductivityengineer, gradle
Published: 2022-05-06 18:33:02

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bxxyrpz1sziybg18efjj.png)

A long time ago a "knife sharpener" was a profession. People didn´t sharp knives themselves, but asked a professional to do the job. As I understand, it was caused by a combination of factors: poor quality of knives, high cost, lack of quality sharpening tools. These are assumptions, therefore I might be wrong.

As time passed, the quality of knifes increased, the cost went down and professional knife profession became quite obsolete.

Well, we might need a “sharpener" profession back to the business, this time in the Software Engineering world. Why? Because developers cost money. Because there is not enough developers. Because infrastructure costs money. I don't even mention the impact of outdated tools and legacy on a mental wellbeing of the employees. I have been there, it sucks.

So what exactly is the problem? Obviously, developers and infrastructure engineers must continuously optimize their codebase and infrastructure as part of their day-to-day jobs, right? Wrong! Very often IT professionals are overloaded with tasks. We rarely have time to resolve things slowing us down. At least, not unless the problems become too big to ignore.

What if… What if we dedicated a person to checking “how to optimize the environment without putting even more stress on people and without loosing money”? Let´s say this person would make your Gradle builds a little bit faster. Or, that champion could compare the way your team works with the way other teams work and help you learn from each other. Yeah-yeah, I know developers love talking to each other, but there is still some space for improvement, as I see it  ;)

Even 1% build speed increase can cause *HUGE* benefits to the company, as it will be benefiting the company for a long time. Now imagine these benefits coming periodically. Just think of how much money these professionals could save to their companies…

We could tag this job with a DPE (Developer Productivity Engineer). This person will be responsible for improving efficiency (not just productivity) of developers by:

- optimizing repetitive tasks 
using new tools to achieve result
- using new approaches to achieve result
- championing new ways to make developers happier, be it the latest IDE or a electric car scheme for employees
- supporting growth, mentoring developers
- keeping an eye on conferences and distributing tickets to the developers
- keeping an eye on open source projects and getting volunteers involved

As a “thank you” to my readers, I recommend you to watch the ”Developer Productivity Engineering (DPE) Defined” by Hans Dockter, CEO & Founder of Gradle. It is an amazing video by an amazing person:  https://youtu.be/c251lFT1yso  

Special thanks to @brjavaman, @ymoto and all other friends :)
Lambda en Java bdarija
Tags: lambda, java, darija
Published: 2022-05-06 18:20:45

Lambda hia wahd te3bir li kaymtel wahd ljoz2 dial lcode, had lcode kayakhod paramètre o kayrejee lik wahd natija. 
Btali had lambda ra f7alha f7al les méthodes li mwalfin elihom walakin lambda makathtajch smia 3la 3ks les méthodes lakhrin.


```
(argument) -> {traitement}  

(argument1, argument2) -> {traitement}  
```
Expression Lambda mkowan mn 3 lhwayj:

1. dakchi li qbel mn sehm : hna kaneetiwha les arguments, mli makaykonuch les arguments kaybqaw les parenthese khawyin

`() -> {traitement}  `
2. sehm `->` : hada symbole li kaylseq les arguments btraitement 

3. traitement: hna fin kayn dakchi li baghin mn lambda dir

linaftarid bli lgharad dialna howa d'implementer l'interface Personne et d'afficher Salam

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vzn8wgzslv6lekb727au.png)
  
Blama nste3mlo Lambda nqdro nkhedmo bclasse anonyme:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wwcaa2cj91nw22vq61x6.png)

 

Had lmerra ghankhdem b lambda :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dxsrpcbukbz5pssjr3ys.png)
 
natija flekhr 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qgbckns4jeb81ovnmsnb.png)
 

had lmital kayakhod 1 argument:



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6wrxbzftq37bww640mhr.png)
resultat 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iugy7ezt1nzy8l6fbgt2.png)

Had laminal kayakhod bof dial les arguments

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/muho6mgz2dinj9u0kxjz.png)
resultat ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6tzgulpmyao1z648cukk.png)
Day 1-2: Authentication!
Tags: appwritehack, hackaton, angular
Published: 2022-05-06 18:06:14

It's amazing the semplicity to do this part with google OAuth2... Here it is:

**Home Page**

![Home page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lw0laim7ta5e1ysyhgnn.png)
**Login Page**

![LoginPage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6f8me9hxn7exrcij3fy8.png)
**Authenticated Page**

![Authenticated Home](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1mw18rj23rsmenrute2o.png)

I follow this tutorial et voilà!
[Lerndemy Tutorial](https://www.youtube.com/watch?v=KYrOoyvycAM)

I had a few diffulty with the promise call and organize angular code, but it is ok for now!
In the next post I reveal the theme of my project...
How do I learn things so fast?
Tags: webdev, programming, productivity, beginners
Published: 2022-05-06 17:53:32

I dunno if I learn things fast or not, but some of my friends said "how do you learn things so fast?", so here's how I learn things...
1. I never learn things if there's no necessity
2. I believe in researching, there's nothing tasty than a good research
3. I do code and implementation while learning
4. I make commercially usable products with my gained knowledge
5. I spend time making two or three projects with my gained skills
6. I write blogs, articles and posts about my learning
7. I never give up even if there are tons of bugs
8. I approach people; YouTubers, Senior or Junior Developers, Bloggers
9. While learning, I do not exactly copy the code, I surely do something slightly different than the video/doc, so that I can suffer errors and the exceptions.
10. I am hungry to develop my ideas and bring them into real life!
![How do you learn things so fast](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fssvuqkptdtcxh4xp7fm.png)
FastAPI
Tags: beginners, fastapi, python, react
Published: 2022-04-06 09:46:46

**Documentation:** https://fastapi.tiangolo.com

**Source Code:** https://github.com/tiangolo/fastapi

FastAPI is a modern, fast (**high-performance**), **web framework** for building APIs with Python 3.6+ based on standard Python type hints.

Key Features:
* Fast
* Fewer bugs
* Intuitive
* Easy
* Short
* Robust
* Standards-based

Python Type Code below:

```
from datetime import date

from pydantic import BaseModel

# Declare a variable as a str
# and get editor support inside the function
def main(user_id: str):
    return user_id


# A Pydantic model
class User(BaseModel):
    id: int
    name: str
    joined: date

```
This can be used as:

```
my_user: User = User(id=3, name="John Doe", joined="2018-07-19")

second_user_data = {
    "id": 4,
    "name": "Mary",
    "joined": "2018-11-30",
}

my_second_user: User = User(**second_user_data)

```
**Validation Types:**

Validation for most (or all?) Python data types, including:
- JSON objects (dict).
- JSON array (list) defining item types.
- String (str) fields, defining min and max lengths.
- Numbers (int, float) with min and max values, etc.

Validation for more exotic types, like:
- URL.
- Email.
- UUID.
- ...and others.

**Asynchronous Code**
Asynchronous code means that the language has a way to tell the computer / program that at some point in the code, it will have to wait for something else to finish somewhere else.

That "wait for something else" normally refers to I/O operations that are relatively "slow":

- the data from the client to be sent through the network
- the data sent by your program to be received by the client through the network
- the contents of a file in the disk to be read by the system and given to your program
- the contents your program gave to the system to be written to disk
- a remote API operation
- a database operation to finish
- a database query to return the results

As the execution time is consumed mostly by waiting for I/O operations, they call them "I/O bound" operations.

It's called "asynchronous" because the computer / program doesn't have to be "synchronized" with the slow task, waiting for the exact moment that the task finishes, while doing nothing, to be able to take the task result and continue the work.

For "synchronous" (contrary to "asynchronous") they commonly also use the term "sequential", because the computer / program follows all the steps in sequence before switching to a different task, even if those steps involve waiting.

**Difference between Concurrent & Parallelism -**
This has been explained quite well using the burger example here:
https://fastapi.tiangolo.com/async/

JWT means "JSON Web Tokens"

Uvicorn is an ASGI (Asynchronous Server Gateway Interface) compatible server that will be used for standing up the backend API.
Final Weekend of the Appwrite Hackathon on DEV!
Tags: meta, appwritehack
Published: 2022-05-06 17:43:10

---
title: Final Weekend of the Appwrite Hackathon on DEV!     
published: true
description: It's the final weekend of the Appwrite Hackathon on DEV. Don't miss your chance to participate!
tags: meta, appwritehack
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9sbnvyv22dhhuq83lnvk.png
---

#### *The Appwrite Hackathon on DEV closes on Thursday, May 12th, 2022 @ 11:59 PM UTC. Don't miss your chance to build a new app and win prizes for it!* 

--- 

The Appwrite Hackathon on DEV closes in less than a week!

If you haven't joined in yet, we encourage you to consider it — we think many of the folks in this community will enjoy using Appwrite's secure, open source backend server for web, mobile & flutter software development.

By submitting a valid project, you stand to win one of four Grand Prize packages, which include... 
- $2,000 USD in cash
- $300 credit to [our shop](https://shop.forem.com)
- A super cool Appwrite t-shirt
- Custom Appwrite stickers
- A DEV sticker pack
- A glorious "Grand Prize" profile badge! 

In addition, 10 runners-up will win... 
- $250 USD in cash
- $150 USD at our shop
- An Appwrite t-shirt
- Custom Appwrite stickers
- A DEV sticker pack
- An enviable "Runner Up" profile badge

Finally, ALL participants with a valid project will get a DEV sticker pack, an Appwrite t-shirt, and a DEV "Appwrite Hackathon" participant profile badge.   


**[>> Click here to read the rules and join in](https://dev.to/devteam/announcing-the-appwrite-hackathon-on-dev-1oc0).**


If you'd like to tell us how your project is coming or meet the other participants, check out the Appwrite Hackathon [Community Discussion Thread](https://dev.to/devteam/community-discussion-thread-appwrite-x-dev-hackathon-13aj). 

If you need help with your project or have a question about the hackathon rules or Appwrite, pop into the [help thread](https://dev.to/devteam/appwrite-x-dev-hackathon-help-thread-4jfj). Members of both teams will be there to assist you.


Good luck to everyone who submits a project for this contest.  We hope to see an entry from you!    

---
_Click [here](https://dev.to/devteam/announcing-the-appwrite-hackathon-on-dev-1oc0) to find all the info you'll need to get started._ ❤️
Delivering value
Tags: work, productivity, discuss, programming
Published: 2022-05-06 17:42:59

---
title: Delivering value
published: true
description: Let's talk about focusing on the customer
tags: work, productivity, discuss, programming
---

What's up, my friend? What pops into your mind when you think of **delivering value**?

This is a topic that made me think for a long time and still does today. Mostly because it throws me out of my comfort zone. Often I get myself wondering about the reasons that I do things the way I do.

Let me clarify. As a programmer, I need to carry about code quality, docs, if I'm keeping things simple, if I'm repeating code, if I'm writing in the best way possible, and so on. In general, that's good, however, sometimes, it can be a problem. I need to remember frequently that those **details** little or nothing will bring value to the final product and to the customer.

Understand that I'm not saying that I should write bad code, I'm just raising this question about sometimes sacrificing time and putting too much effort or more than it should. Don't write bad code. So what I want to do is bring that question: are we delivering value for sure? Or we're just focused on our own meters (from the company sometimes) that just make our lives worse?

Often I see flame war about tech, languages, libs, and **hippies** frameworks that even though they have good reasons, in most cases, they just want to be **hippies**. Sorry to say this, but that is what I have seen out there! We don't see people talking about the best way to attend to the customer, about inviting him to decisions and project phases. It seems that the main idea is something like "I don't care about users, here I'm the boss, my code, my way."

I don't want to go deep, just bring that to light.

To finish I want to let the record that today I'm much more **customer-oriented** than **company-oiriented**. The goal it's the product, quality, and user experience. And don't **just** a good source code. I tell you again that a good source code it's crucial, but can't decide the result.

That's it! I'd love to see your comment.

Till next time! <o/

> Originally posted at https://ricardocampos.blog/post/delivering-value/ on Oct 24, 2020, 10:43:35 PM
This Week in Python
Tags: python
Published: 2022-05-06 13:00:22


**Fri, May 6, 2022**

This Week in Python is a concise reading list about what happened in the past week in the Python universe. 

## Python Articles

- [Modern Python performance considerations](https://lwn.net/SubscriberLink/893686/8978976335696804/) – A deep dive into the Python interpreter's internals
- [When Python can’t thread: a deep-dive into the GIL’s impact](https://pythonspeed.com/articles/python-gil/) – Analyzing the GIL of Python in depth
- [We fixed f-string typos in 69 Python repos](https://highertier.com/we-fixed-f-string-typos-in-69-of-the-most-popular-python-repos-in-only-one-day-heres-how/) – We found that 10% of the 666 most popular Python open source GitHub repositories had f-string typo bugs
- [Code Quality Tools in Python](https://dev.to/dollardhingra/code-quality-tools-in-python-4k2a)
- [MicroPython in Docker Containers](https://bhave.sh/micropython-docker/) – You know how to run MicroPython on hardware, but what if you don't have a microcontroller lying around? That's where Docker comes in!



## Projects

- [pyscript](https://github.com/pyscript/pyscript) – Run Python in the browser
- [django-readers](https://github.com/dabapps/django-readers) – function-oriented toolkit for better organisation of business logic and efficient selection and projection of data in Django projects
- [datasette-lite](https://github.com/simonw/datasette-lite) – Datasette running in your browser using WebAssembly and Pyodide
- [slipcover](https://github.com/plasma-umass/slipcover) – Near Zero-Overhead Python Code Coverage
- [django_channels_bingo_game](https://github.com/learningnoobi/django_channels_bingo_game) – Real Time Multiplayer Bingo Game Using Django Channels and Javascript
Classes Interne en Java bdarija
Tags: darija, java, innerclasse, classeinterne
Published: 2022-05-06 17:26:13

Les classes internes fJava hia ay classe déclare fwest une autre, l'intérêt mnhom howa lcode ykon sahl lqraya o hta les méthodes dial la classe englobante kayweliw accessible fla classe interne.

kinin 3 types li ghanchofo
Les classes internes
Les classes internes static
Les classes anonyme


**Les classes internes
**
La classe interne maghatbqach tchof niveau de visibilité (private public protected) tqder tste3mel ay methode fla classe englobante


 ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vpmzeiz4mybpnv3f0xrb.png)
 
couplage kaykon fort, l'instanciation dial la classe interne nécessite une instanciation de la classe englobante 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x868hha5w7fyyhkpnuqo.png)
 

**Les classes internes static
**

Had les classes static makayhtajoch instance dial la classe englobante 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ofn6vku3w6p29vceqh7.png)
 

**Les classes anonyme
**

Hia wahd la classe interne sans nom, lghaya mnha howa tsaybo objet wahd, fl aglab kaykhedmo biha fl override des methodes

Li naftarid Ana lgharad dialna howa d'implementer l'interfece Personne 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c18s9j3t94nj2u5s7a3j.png)

et d'afficher salam

3dna 2 toroq:
lowlania hia tariqa li mwelfin eliha, une classe qui implemente Personne

fhad l'exemple hia PersonneImp
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/36aljjjq7hik5ysz0zg0.png)

Dans le main on instancie PersonneImp et on fait appel a la méthode Salam

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7bwfs3ax493fgbtaj1ul.png)

En grosso modo
1. creer une classe qui implement l'interface
2. override les méthodes
3. Dans le main, instancier la classe qui implemente l'interface et faire appel a la méthode Salam

 

Tariqa tania avec une classe anonyme

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ld7x1ypic1u1zwplsw1f.png)

Code basée ela le pseudo code suivant:

```
Interface I = new Interface() 
{
   @Override
   public void Methode() 
   {
     .........
    }   
}; 

I.Methode();

```
Day-6 - Is javascript pass by value or pass by reference?
Tags: javascript, beginners, programming
Published: 2022-05-06 17:24:08

---
title: Day-6 - Is javascript pass by value or pass by reference?
published: true
date: 2022-05-06 17:20:49 UTC
tags: javascript, beginners, programming
canonical_url: https://blog.sanjaybabu.dev/day-6-javascript-pass-by-value-or-reference
series: 100 days of interview questions
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/znnmvsjsmuojr8h4qlfr.png
---

It's both! Let's find out how.

## Pass by value

Whenever a function is called, if the value of the variable is passed directly as the parameter, then the changes made to that parameter are not propagated beyond the function.

> **All primitive data types in javascript are passed by value.**

### Example

```
var a=10;
console.log("Value of 'a' before method called: "+a);
add(a);
function add(a){
   a++;
   console.log("Value of 'a' inside the method call: "+a);
}

console.log("Value of 'a' outside the method called: "+a);

/*
Output:
Value of 'a' before method called: 10
Value of 'a' inside the method call: 11
Value of 'a' outside the method called: 10
 */

```

## Pass by Reference

Whenever a function is called, if the address of the variable is passed as a parameter directly instead of making a copy of it and just sending the value alone, then it's pass by reference. As we are still referencing the address inside the function, any change made to the variable inside the function will be propagated throughout the program.

> **Objects and Arrays are passed by reference in javascript**

### Example

```
var user={
   id:1,
   firstName:"John",
   lastName:"Doe"
}

console.log("Value of 'user' before method called: "+user.firstName+" "+user.lastName);

print(user);

function print(user){
   user.lastName="Wick";
   console.log("Value of 'user' inside the method call: "+user.firstName+" "+user.lastName);
}

console.log("Value of 'user' outside the method call: "+user.firstName+" "+user.lastName);

/*
Output:
Value of 'user' before method called: John Doe
Value of 'user' inside the method call: John Wick
Value of 'user' outside the method call: John Wick
*/

```
Meet the Tanukis: Hailey Pobanz
Tags: devops, community, gitlab, techtalks
Published: 2022-05-06 17:07:54

Meet the Tanukis is a stream about the amazing team members at GitLab. Each episode focuses on a team member discussing issues in tech that are important to them. This episode features Hailey Pobanz, Area Sales Manager - SMB EMEA!

{% youtube te-I7I7NIAY%}


Free licenses of GitLab for education!!
https://about.gitlab.com/solutions/education/
Day-82 Training At Ryaz
Tags: javascript, webdev, beginners, programming
Published: 2022-05-06 16:59:33

- Date:6/05/2022
- Day:Friday

Today, I started at about 11:00 am as I was in progress to complete the java script course so, today I started with the left over task so, firstly I started with importing and exporting in es6 The export statement is used when creating JavaScript modules to export live bindings to functions, objects, or primitive values from the module so they can be used by other programs with the import statement and The static import statement is used to import read-only live bindings which are exported by another module.Imported modules are in strict mode whether you declare them as such or not.after this I started with top level await The await operator is used to wait for a Promise. It can only be used inside an async function within regular JavaScript code; however it can be used on its own with JavaScript modules.and Top-level await enables developers to use the await keyword outside of async functions. It acts like a big async function causing other modules who import them to wait before they start evaluating their body.and after this I served to resolve the problem of project soothes way my day ended up and I got to learn many new things.
Send delayed welcome emails to new users with Postmark
Tags: tutorial, beginners, productivity, automation
Published: 2022-05-06 16:32:56

{% embed https://youtu.be/UvBsafQrWfw %}

This week we released the ability to delay your workflows with both a pre-built action and a helper function in your Node.js code steps.

In this weeks Speed Run, we give a 5 minute example on how to use Delay to create an email drip campaign after new users sign up for your app.

We integrate with Postmark, an email provider in this workflow and delay it a full 30 minutes before sending an email to the customer with a Calendly link to book a call with us.

You can use delay in Node.js steps as well, using the built in function $.flow.delay(miliseconds).

Read more about delaying workflows in our docs:
https://pipedream.com/docs/workflows/built-in-functions/#delay
Java Spring Boot, Front Controller and API documentation - Part 3 Tutorial
Published: 2022-05-06 16:25:01

Hi, the 3d article devoted to the theme: “How to work with ElasticSearch using Java Spring Boot” is already ready for reading. Here will speak about project structure aspects, controller, REST API and response/request models. All details are here: "[Java Spring Boot, Front Controller and API documentation](https://sergiiblog.com/spring-boor-front-controller-and-api-documentation/)". Have a pleasant reading.