teleren/devto huggingface dataset:
Cómo aumentar brutalmente el rendimiento de PHP-STORM
Tags: php, phpstorm
Published: 2021-08-20 18:01:44

---
title: Cómo aumentar brutalmente el rendimiento de PHP-STORM
published: true
description: Cómo aumentar brutalmente el rendimiento de PHP-STORM
tags: php, phpstorm
cover_image: https://resources.jetbrains.com/storage/products/phpstorm/img/meta/2021_2/phpstorm_2021_2_twitter_card.png
---

Para los que tenemos equipos de bajas prestaciones (Ver [Cómo conseguir un equipo de desarrollador de bajo presupuesto](https://dev.to/robertomanchado/como-crear-un-equipo-de-bajo-presupuesto-para-desarrollar-10gd), donde medimos
cada kilobyte de memoria, (tabs, aplicaciones, daemons), a veces nos pasa factura y herramientas imprescindibles para el desarrollo en PHP como lo es **PHP-STORM** puede verse penalizado y el desarrollo puede ser verdaderamente incómodo.

Para trabajar cómodamente con **PHP-STORM** y no tener la sensación de estar circulando por un camino lleno de piedras, con una bici de ciclismo, deberemos desactivar el indexador de archivos y clases. Precisamente la herramienta por la que merece la pena usar **PHP-STORM** y tanto amamos.

Para desactivar la sincronización del índice cada vez que se abra **PHP-STORM** o se actualice el sistema de ficheros:

```bash
System Settings -> Synchronize files on frame or editor tab activation.
```

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

El precio a pagar, será tener que escribir correctamente los métodos y los **namespaces**,tener que refrescar el sistema de ficheros cuando escribamos o añadamos un nuevo directorio.

Sin embargo, el rendimiento del pc, aumenta considerablemente y el desarrollo se vuelve más fluido. Ya no parece que nuestro equipo se cala. 

La otra opción es gastarse un poco más de nuestro presupuesto, utilizar i5,i7,i9, placas con formato
**micro-ATX** en lugar de **mini-ITX**.... pero no tengo dinero.
Cut-to-Cut Clipping Path - As we use Pen Tool
Published: 2021-08-20 18:00:19

https://clipping-path-2.jimdosite.com/
Since the quality is a well-known fact for the clipping route, we do it ONLY manually clipping to obtain accuracy and take peak time to create a perfect cutout. Actually, there is absolutely no shortcut to producing a quick photo cutout. That’s why to make use of Pen Tool to create the clipping route in Photoshop to makes probably the most proficient cutout. Consequently, our clipping is definitely cut-to-cut to the actual edge.

We IN NO WAY imply Magic Wand Device in Photoshop. Though it can make the quickest fixing shortcut it offers a terrible outcome. As it chooses the large section of similar coloured pixels as well as produces a smudge choice area.

We offer you to find the best possible to reduce out than every other clipping company on the market. Our clipped pictures are ALWAYS high-resolution cutout.
Cómo crear un equipo de bajo presupuesto para desarrollar
Tags: hardware
Published: 2021-08-20 17:56:23

---
title: Cómo crear un equipo de bajo presupuesto para desarrollar
published: true
description: Cómo crear un equipo de bajo presupuesto para desarrollar 
tags: hardware
//cover_image: https://direct_url_to_image.jpg
---
Desarrollar con open-source no tiene que ser costoso, sino todo lo contrario. 
Con un equipo con lo justo de memoria RAM y un procesador bastante mediocre se puede escribir código incluso utilizar herramientas como **Docker**.

Eso sí, no esperes utilizarlo para herramientas o programas que requieran alto nivel de gráficos o excesivo rendimiento.

Es para lo que es. Para desarrollar.

Mi equipo consta de :

## Software:
	
 - Git
 - Lubuntu 18.04 lts
 - PHP 7.2,7.4,8.0
 - Docker
 - Mysql
 - PHPSTORM

## Componentes Hardware:

- Placa base : [Biostar H81MHV3](https://www.amazon.es/gp/product/B00K66SHFS/ref=as_li_tl?ie=UTF8&tag=inforob-21&camp=3638&creative=24630&linkCode=as2&creativeASIN=B00K66SHFS&linkId=8030199daf6a96b70049a75f8ef390bb) Placa Base (DDR3-SDRAM, DIMM, Dual, Intel, Celeron, Core i3, Core i5, Core i7, Pentium, Socket H3 (LGA 1150))

	**Total: 60 euros**
- Caja segunda mano [NZXT](https://www.amazon.es/gp/product/B07SGWLD2C/ref=as_li_tl?ie=UTF8&tag=inforob-21&camp=3638&creative=24630&linkCode=as2&creativeASIN=B07SGWLD2C&linkId=8684f5e0559d680f2b4c9fa6c7fd4d82)

	**Total: 50 euros**
- [Teclado mecánico](https://www.amazon.es/gp/product/B07Z4TCJZM/ref=as_li_tl?ie=UTF8&tag=inforob-21&camp=3638&creative=24630&linkCode=as2&creativeASIN=B07Z4TCJZM&linkId=155ab424c6a192ce52942dbe2ad8c22d)

	**Total: 25 euros**
- [Ratón Logitech](https://www.amazon.es/gp/product/B00AZKNPZC/ref=as_li_tl?ie=UTF8&tag=inforob-21&camp=3638&creative=24630&linkCode=as2&creativeASIN=B00AZKNPZC&linkId=51198f6c0b6d7cd80d16463f6f41deda)

	**Total: 5 euros**
- [Auriculares](https://www.amazon.es/gp/product/B08CVDPQ9P/ref=as_li_tl?ie=UTF8&tag=inforob-21&camp=3638&creative=24630&linkCode=as2&creativeASIN=B08CVDPQ9P&linkId=7574b3386ec54f8a0ae8c6db79bc1d0a)

	**Total: 20 euros**;

### **Total presupuesto: 160 euros.** 

Si te paras a pensar, con lo que vale un [imac](https://www.amazon.es/gp/product/B08F9Y3RJ9/ref=as_li_tl?ie=UTF8&tag=inforob-21&camp=3638&creative=24630&linkCode=as2&creativeASIN=B08F9Y3RJ9&linkId=7d4d46ccdbdeadfef0e4675c4771fee8) puedes conseguir 10 pcs de bajo presupuesto como el anterior.

Ahorro sin ninguna duda.

fdo: roberto manchado
What its like launching my SaaS in a sea of many previously failed projects
Published: 2021-08-20 17:55:45

Finally after weeks and weeks of nonstop coding and iterating I can proudly say I've launched the very first version of Lendbox. It is now available for anyone  loan provider or lending company to use as a loan management tool. https://lendbox.io
It feels great to finally have something out in the world which provides a service to people who use it. The next coming weeks will involve a lot of updates to Lendbox to add lots of features to make it even better than it already is.
Here is a list of a few things I set in place from the start that I know will be of great use now that the app is in production ;

1.Automated Integration Tests
Every piece of code that I've written in Lendbox is associated with an integration test, no code was ever written that doesn't function to make an integration test pass. I focused heavily on integration tests as opposed to unit tests because integration tests simulate greatly how a user would interact with my app whereas unit tests are too coupled with the implementation details. Having automated tests will greatly help me avoid annoying bugs now that Lendbox is officially in production.

2.Using a CI/CD approach to app deployment
I deployed Lendox to vercel (previously zeit) and Heroku which makes continuous deployment extremely easy and fast as it integrates with github very well, a simple git push and vercel will automatically build and deploy my app.

3.Using third party services
Rather than me spending a lot of time implementing certain features by myself, I instead used a couple of third party services to get certain features off the ground very quick.

4.Code Re-use
From the onset I wrote all the code in a manner that no matter what function the code is meant for I would write it in an abstract way allowing for extensive re-use thus respecting the DRY principle.

I have a lot of features that I have planned to be added to the app over the coming weeks but knowing full well that the app will be judged based on the few features it has right now, that is the frightening part. But I will keep releasing a lot of updates till I get Lendbox to have all the features i have planned for it.

Have a look at it, I'm excited to start talking to users and see what they think about the product so far!

https://lendbox.io
Leetcode: Squares of a sorted array
Published: 2021-08-02 03:39:19

The Leetcode problem: "Given an integer array 'nums' sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order."

First of all, why "non-decreasing"?  Would it not be just as accurate - and less confusing - to just call it "ascending"?  Is there something about "ascending" that I don't know?

So, my thinking - not anywhere near what Big-O would dictate - would be to do the obvious ... "return an array of squares of each number (element) sorted ... ascending" (there, I said it!)

So let's do that:
```
var sortedSquares = function(nums) {
    return nums.map(x => x*x).sort((a,b) => a-b)
};
```
Here, I am mapping each element of the 'nums' array and returning an array of it's squares.  Then I am sorting the output array numerically.  Note: if you don't sort numerically, using the ((a,b) => a-b) sort parameters, you will sort "ascending, built upon converting the elements into strings, then comparing their sequences of UTF-16 code units values".  Ah... there it is.  The difference between "ascending" and "non-decreasing".

I thought this one-line solution was pretty slick and daisy-chaining prototype functions in the higher level of caliber.  And ... it did give the proper result.  But Leetcode is a little more picky than that.  And it's great to aspire to the Leetcode level of achievement.  It will get your further than making excuses like "who cares if the space and time complexities are above linear?"  So, when Leetcode gives you feedback like ...
```
Squaring each element and sorting the new array is very trivial,
could you find an O(n) solution using a different approach?
``` 
...you feel about 10 feet less tall.  But there are clues in their subversive backhanded compliment.  "Can you find an O(n) solution".  They want you to travel through the array no more than once.  So let's see what we can come up with.

First, let's set up a loop to go through the array.  But let's not loop through the whole ... wait a minute ...

I checked and re-submitted it later and got this result:
```
Runtime: 104 ms, faster than 96.77% of JavaScript online
submissions for Squares of a Sorted Array.
Memory Usage: 45.4 MB, less than 79.37% of JavaScript online
submissions for Squares of a Sorted Array.
```
So I guess my solution was good enough after all.  

The lessons this week are 
(1) to check your Leetcode submissions at all different times of the day.  Check back later and you may get a better score than you did at first.
(2) there really is a difference between "ascending" and "non-decreasing" ... although "ascending" really could be corrected with just adding "numerically" ... which would still read easier. :)
Easiest way to understand Javascript Closure
Tags: webdev, javascript
Published: 2021-08-20 17:36:35

Closure is one most discussed topics in javascript for many reasons, but I am going to make it simple to understand. First we will look at the definition of Closure from [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures).

> A closure is the combination of a function bundled together (enclosed) with references to its surrounding state

Let break it down with the most familiar example.

```
--Home
  --Bedroom
  --Office Room
  --Kitchen
    --Fridge
      --Penguin
```

Let look at the above structure, A home, and inside it a Bedroom, an Office room since its 2021, and Kitchen. Also, there is a Fridge inside the kitchen. Now consider there is a penguin in the fridge, yay yay they came back due to global warming.

```javascript
function Home() {
  function OfficeRoom(){
    console.log('OfficeRoom')
  }

  function Bedroom(){
    var bed = "bed"
    console.log('Bedroom')
  }

  function Kitchen() {
    var oven = "oven"

    function Fridge() {
      var bread = "bread"

      function Penguin() {
        console.log(bread, oven, Bedroom(), OfficeRoom())
      }
      Penguin()
    }
    Fridge()
  }
  Kitchen()
}
Home()
```

### what `Penguin()` function can access?
The above is what I converted in javascript code. Let see what penguin has access to

* Everything in fridge
* Everything in Kitchen
* Everything in Home

Let go from the top, can penguin access the office room, in real-world it can access and may fix some of your bugs, But in the javascript world, it can only call `OfficeRoom()` since its a function and it can return anything, same goes for `Bedroom()`.

Moving to `Kitchen()` it can access `oven` variable and in `Fridge()` it can access `bread` variable.

### Now let's look at the definition of closure 

> A closure is the combination of a function bundled together (enclosed) with references to its surrounding state

* The `Kitchen()` function bundled together with reference to its surrounding state that is `Bedroom()` and `OfficeRoom()`.

* The `Fridge()` function bundled together with reference to its surrounding state that is `oven`. And everything it has referenced from `Home()`.

* The `Penguin()` function bundled together with reference to its surrounding state that is `bread`. And everything it has referenced from `Fridge()`.

> In hierarchy it will bundle reference to function until Global scope.

Now we have three closure, and let see what chrome dev tool says.

![Debugger screenshot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0tyk564xh6m6c5xizjhb.png)

Every function that bundled together with references to its surrounding state is closure. In fact, closure is created every time a function is created.

For more read https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures
Goals for HNGi8xI4G internship.
Published: 2021-08-16 15:01:41

     I am Daniel Udechukwu, currently a 300l Electronics and Computer Engineering student in Nnamdi Azikiwe University, Awka.

     As an intern in the ongoing HNGi8xI4G internship, I've got set goals to accomplish which will aid and boost my career as a FRONTEND WEB DEVELOPER. Through the 8 weeks program, I'm hoping to achieve the following:

1. In-depth problem solving skills.
2. Time management.
3. Teamwork skills. 
4. Wider knowledge of my stack.
5. And networking with like minds.

     Zuri internship really widened my eyes on how internships are, and being a new experience, I gained more experience. It wasn't easy, but it was worth it. Check out Zuri via: https://internship.zuri.team

Tutorials related to my stack that helped and is helping me as a beginer in FRONTEND WEB DEVELOPMENT:
1. For Figma: https://www.youtube.com/watch?v=eZJOSK4gXl4&ab_channel=KevinPowell

2. For GIT: https://www.youtube.com/watch?v=GqNAD4XoZ6k&ab_channel=KevinPowell

3. For HTML basics: https://www.youtube.com/playlist?list=PL4-IK0AVhVjM0xE0K2uZRvsM7LkIhsPT-

4. For JS: https://www.youtube.com/playlist?list=PLxuUHF3OiqfUvRoFTutMo8x98s3UHZwys



     We'll see in 8 weeks. 😏😏
Lo que implica ser Coach
Published: 2021-08-20 17:31:47

---
title: Lo que implica ser Coach
published: true
description: 
tags: 
cover_image: https://i.ytimg.com/vi/VbpDQyUrOVc/maxresdefault.jpg
---
Ser coach significa ser guía. Pero no sólo es un orientador.
Implica mucho más.

Un entrenador exige, insiste y persiste. Insiste en adquirir y mejorar los hábitos.

El coach, no. El coach descubre el camino ya recorrido para que no tengas que empezar de cero. No te fuerza y mucho menos te juzga.

Se pone en tu lugar como si fuera él ya que tu eres su proyecto. Y en ese proyecto que eres tu mismo, te asesora a conseguir tus objetivos y desarrollar tu habilidades que ni siquiera te planteastes. 

Es un experto en la toma de decisiones y en la mejora constante y ya que él es el experto, te ayudará a desarrollar tus habilidades que ni siquiera sabías que tenías.

El coach no obliga, no persuade, no insiste a diferencia del entrenador. El coach es como esa pequeña brújula que te orienta hacia donde de verdad quierer ir y hacia dónde no, visualizando posibles obstáculos hasta tu meta o posible enemigos potenciales de los objetivos.

El coach no es un amigo, ni mucho menos un compañero, tan solo eres un compromiso de mejora y se comprometerá contigo como si tus objetivos fuera sus objetivos, hasta que lo consigas ( o no .)

Ser coach , implica administrar tu tiempo para dárselo a otro que lo pueda aprovechar.
Exige un compromiso más allá de las relaciones humanas en las que el favor mutuo van de la mano.
Por un lado el pupilo consigue habilidades y mejora constante y por el otro el coach consigue ser una persona de referencia al que acudirán sin ninguna duda cuando tengan algún tipo de problema.

El coach NO resuelve problemas de nadie. Es otra ayuda más. Un pedal. Una base. Lo demás dependerá de la persona que requiera de sus servicios. Y de mucha, mucha fuerza de voluntad.

Ser coach, implica compromiso, tiempo, sacrificio, empatia, esfuerzo , paciencia y por supuesto
siempre resiliencia.

No siempre funcionará todo bien.... casi nunca.

Fdo: roberto manchado
Why Should you Hire a Ghostwriter? 
Published: 2021-08-20 17:28:27

A ghostwriting service is now a very reliable way to get your writing solutions. Every <a href="https://www.bookwritinglane.com/">Book Writing Company</a> now offers multiple ghostwriting services. This allows the consumers to get all kinds of services. For the longest time it was considered unethical. However, it has been accepted because of the benefits it can provide. Some of which are employment opportunities and the quality work. 

Saves Time 

Ghostwriters are trained writers that have the skills to churn out content much faster. A Book Writing Company can provide you a great ghostwriter to write your book. They are professionals with the expertise and skills to produce your content and work much faster with better quality. Moreover, it is highly accurate and efficiently written. 

Awareness 

Professional ghostwriters are very aware of the trends in the market. The changing demands of the industry are under their purview. In addition, they are aware of the technical aspect of professional writing that allows them an edge. It is significantly important for a writer to be aware of the client's demands concerning the market competitiveness. Furthermore, it creates a conflict when they are unaware of the trends and delivers outdated and non-competitive content. This will not receive positive reviews.
 
Professional Writers
 
Ghostwriting agencies have hired experienced people that have the technical and creative expertise. A writer needs to have flared in their writing. Technical expertise is equally important. However, writing is all about capturing the attention of the reader. To be able to take them into the world of the story or non-fiction piece. Professional writers have the incredible skills of magicians. Additionally, they are very thorough with the work they produce. It is error-free and very unique.
 
SEO Expertise
 
Search Engine Optimization is a technical skill that is of utmost importance. Google ranks your content much higher due to this change. Non-optimized content is not crawled by Google nor reviewed higher. Additionally, SEO has keywords infused into the content which highlights your content for a targeted audience. Furthermore, it makes your content more technically sound and attractive for the reader.
 
Authentic Content

Professional writing agencies ensure that the content is unique and relevant. Ghostwriting is creative people that have many stories to tell. They produce a range of content, each different from the other. Furthermore, they can keep it relevant to the times. Even to the demands of the customers. Moreover, they make sure to create new trends and experiments that can widen the possibilities for writers. 

As a result, hiring a ghostwriter is a big recommendation. They are a professional lot that has the experience, skill, and talent to pull off a writing stunt. Ghostwriting agencies are producing some of the best work. Furthermore, some of these writers are so young yet extremely talented. This allows them a fresher perspective on writing. And cater better to the younger audience.
Introduction to APIs
Published: 2021-08-20 17:11:37


API is the acronym for **Application Programming Interface.**
 
API is a set of definitions and protocols that allow technology products and services to communicate with each other via the internet. APIs are how apps talk to each other.

Don't worry if that sounds confuses you. Let's use a simple analogy to try to understand what an API is.

Imagine you are building an app like Uber, and when a user signs up, you want to check if their email is valid.

*How would you do that?*

There's pretty complicated logic that goes into validating an email address:    

You'd check the format of string (does it have an @ sign?), you would ping the domain to make sure it runs an email server, and check a couple of blocklists to make sure it's not a delisted address.     

Do you think you have time to build and maintain an email validation service like that? Especially when it's just you or with a small team. Wouldn't you rather spend time improving your business than spending time on trivial things like this?     

Instead, you could use an API - a 3rd party service that already implements the email validation logic, maintains it and improves it as it's their business to do so. You can rely on a 3rd party API to validate your users' email IDs.

####📌 Hence we can say that APIs help developers in 4 key ways: <br /><br />

**1. APIs increase the development speed 🚝** 
By leveraging APIs — developers spend less time implementing trivial features and get more time to focus on their essential business. Execution speed matters.

**2. APIs reduce the overall software cost 💸**
When you need to implement and maintain less code (relying on APIs), your development cost goes down. It’s a classic Build vs Buy argument.

**3. APIs can increase the quality of the software ⭐**
Using a good API can make your software better. Each API component is developed by a business primarily focused on making it the best possible solution rather than one team that has to be good at many things.

**4. APIs yield new possibilities 🌅**
With APIs, developers can now integrate with data sets and implement features like AI and Machine Learning that they wouldn't have been able to use before, creating new business opportunities.

And that's pretty much about it for this article.

We hope you liked this article. If you have any doubts, feel free to add a comment below.
Multiples of 3 or 5
Tags: javascript, codenewbie, algorithms
Published: 2021-08-20 17:09:33

I'm a web developer and I've been going through the problems at(https://projecteuler.net/problem=1). 

I'm trying to get my coding skills better and think of better and faster algorithms.

While my solutions may not be the best there is, please be lenient when trying to improve my solution or offering alternative ones. 

The problem is this:

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.

Solution 

 let number1 = 0;
     let number2 = 3;
     let number3 = 5;

     for (let index = 0; index < 1000; index++) {
       if (index%number2 === 0 || index%number3 === 0 ) {
         number1 = number1 + index;
       };
       
     };
     console.log(number1);