teleren/devto huggingface dataset:
5 consejos para mejorar tu búsqueda de trabajo remoto por linkedin
Tags: spanish, linkedin, mentor
Published: 2023-09-27 19:15:17

---
title: 5 consejos para mejorar tu búsqueda de trabajo remoto por linkedin
published: true
description: 5 consejos para mejorar tu búsqueda de trabajo remoto por linkedin
tags: spanish,linkedin,mentor
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ql3gljs7idofbomv80wr.png
---
 
Linkedin tiene más de 900 millones de miembros registrados a enero de 2023, pero la mayoría no sabe cómo usar la búsqueda para encontrar el trabajo remoto que desean.

Aquí tienes 5 consejos para mejorar tu búsqueda de trabajo remoto por linkedin

## 1.  Elige el país o zona deseada

Puedes filtrar por 
- Worldwide
- Latin America
- NAMER (Canada, USA, México)
- o por un pais específico
 

![elige el pais](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nnbp6vu8mzcrebwc6wf0.png)

## 2. Filtrar vacantes postuladas el último mes

Al filtrar por fecha de publicación o Date posted, nos evitamos navegar por vacantes muy antiguas.

En este ejemplo la vacante tiene 4 meses de antigüedad.

![Filtra vacantes postuladas en el último mes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5j7kkbe6m5zbf0w35no9.png)

## 3. Usar la búsqueda Booleana

Puedes agregar a tu búsqueda palabras claves para incluir o excluir en tus resultados.

Te recomiendo excluir los nombres de agencias que no te interesan 

El orden de prioridad es el siguiente

1. Quotes ""
2. Parentheses ( )
3. NOT
4. AND
5. OR

![Usa búsqueda booleana](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5k9oepyctsbn8rojmgg5.png)

Para la búsqueda Booleana recomiendo ir excluyendo esas agencias de las que no quieren saber nada

Linkedin hace diferencia entre mayúsculas y minúsculas, y si se equivocan en una, las demás no funcionan 😅😅

```
Rails 
AND NOT(promoted) 
AND NOT ("Disruptive Studio" OR oowlish OR BairesDev OR kabuk OR Launchpad OR Boldr OR Bluelight OR SPACE44 OR clevertech) 
AND NOT(india OR vietnam)
```

## 4. Verificar si la vacante menciona Remoto y si la empresa acepta remoto

Aunque existe un filtro para diferenciar si la vacante es remota o en sitio, hay vacantes que no lo usan apropiadamente.

A veces el trabajo dice on site  pero menciona remoto en la descripción del puesto

![Verifica si aceptan remoto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8kbcy1578q2z0qicad29.png)

## 5. No usar el filtro de nivel

Otro filtro que las vacantes no usan apropiadamente es el de Niveles.

Existen vacantes  Senior que tienen marcado el nivel como Entry Level

![No uses filtro por nivel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6bm41mn1xl45dtlt7liq.png)

# Resumen

![Resumen consejos](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vb1afva75okw6hbcdnog.png)

Te dejo una imagen resumiendo los 5 consejos para mejorar tu búsqueda de trabajo remoto en linkedin

Si alguno te han gustado los consejos, comparte este hilo
y sigue a [@luismejiadev](https://twitter.com/luismejiadev/) para más consejos sobre cómo conseguir trabajo remoto
Merge my branches into Main
Tags: javascript, typescript, opensource, github
Published: 2023-09-27 19:12:06

GitHub Repo: https://github.com/seog-jun/til-tool

I added two new features to my til-tool, one is to add -l or --lang option to include lang attribute into <html> element, and the other is to make sure that the program exits with appropriate error codes in any situation by using exit code 0 or 1. 

First, I created [issue-9](https://github.com/seog-jun/til-tool/issues/9) and updated htmlCreator function under writeFile.ts file. It is pretty similar to adding CSS stylesheet with option -s/--stylesheet, so if the lang parameter is nothing, it will have Canadian-English as a default. Otherwise, it will take another language attribute. Also, I slightly modified index.ts file to put lang parameter as well.

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

Followed by issue-9, I created another issue [issu-10](https://github.com/seog-jun/til-tool/issues/10) to update the program to have an appropriate error code with try and catch statement. When I implemented the program at the first time, I didn't take care about when the program failed due to the invalid file extensions or directories. At this point, I refactored the codes by adding try and catch statement with error code -1. So, when the code executes properly, it will exit with code 0, otherwise, it will trigger exit code -1. This is more clear than the previous code.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a2aeqyovz7uspb01z3na.png)

After I implemented two features, I had to merge the branches into the main branch. However, I figured out I made lots of changes on the first branch(for issue-9) and I was worried that it would cause a lot of conflicts when I merged another branch(for issue-10) later on because updated the same files and I have to merge conflicts manually line by line. At this point, fast-forward merge is pretty straightforward compared to three-way-recursive. However, in the field, three-way-recursive will be commonly used as we may update the same files at the same time on different branch.
Object in Java(behavior and states)
Published: 2023-09-27 19:07:38

# Object Definition
Object mean a one part for software bundle. **Object share two characteristics: _They all have state and behavior!_**

## **State**
*State represents an object caracteristic, two examples is:*
- *Dog has name, color, breed, hungry( #dogstates ) like states and this states has any "primitive information"(Behavior transform primitive information into "dynamic information", of course exists states not dynamic but object characteristic, "Name", "Color", "Breed" not possible to have a behavior in this example, this informations are final object in Java)*

- Bicycles has **current gear, current pedal cadence, current speed( #bicyclesstates )**

## Behavior
*Behavior are a comportament only or add state to dynamicity, "How?". See this in the next examples:*
- *Dog states " #dogstates" and the dogs behavior(comportament only) wagging tail, fetching, barking, behavior with state: hungryDog(!boolHungryDog = "x" || boolHungryDog = "x")*
- *Bicycles states " #bicyclesstates ", all bicycles behavior depends bicycles states, see bicycles behavior now: Gear, Cadence, Speed all mentioned behavior depends bicycles states*

## Code:
### EXAMPLE 1:
```java
public class Dog {  
    final String nameDog = "Teo";  
    final String colorDog = "Black and white";  
    final String breedDog = "Shi-Tzu";  
    public Boolean boolHungryDog = false;  
    public String hungryDog = " ";  
  
    public Dog() {  
        if (!boolHungryDog) {  
            hungryDog = "Teo is hungry, feed him! >:(";  
        } else {  
            hungryDog = "Teo is not hungry, HAPPY :)";  
        }  
    }  
      
        public static void main(String args[]) {  
            Dog myDog = new Dog();  
            System.out.println("My dog " + myDog.nameDog + " has " +
            myDog.colorDog + " color" + " my dog the breed " + myDog.breedDog +
            " and " + myDog.hungryDog);  
    }  
}
```

### EXAMPLE 2:
```java
public class Bicycles {
	public int gear = 0;
	public int cadence = 0;
	public int speed = 0;

	void changeCadence(int newValue){
		cadence = newValue;
	}
	void changeGear(int newValue){
	gear = newValue;
	}
	void speedUp(int increment){
		speed = speed + increment;
	}
	void applyBrakes(int decrement){
	speed = speed - decrement;
	}
void printStates() {
         System.out.println("cadence:" +
             cadence + " speed:" + 
             speed + " gear:" + gear);
    }
}

class BicycleDemo {
    public static void main(String[] args) {
    
        Bicycle bike1 = new Bicycle();
        Bicycle bike2 = new Bicycle();

        bike1.changeCadence(50);
        bike1.speedUp(10);
        bike1.changeGear(2);
        bike1.printStates();

        bike2.changeCadence(50);
        bike2.speedUp(10);
        bike2.changeGear(2);
        bike2.changeCadence(40);
        bike2.speedUp(10);
        bike2.changeGear(3);
        bike2.printStates();
    }
}
```
Is Butter Lactose-Free? The Brilliance of Clarified Butter
Published: 2023-09-27 19:06:27





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

Concerned about lactose? Let's dive into the dairy dilemma.

Regular butter does contain trace amounts of lactose due to the milk solids it retains. While it's generally well-tolerated by many, it might not suit those with [lactose intolerance](https://milkio.co.nz/is-clarified-butter-lactose-free/).

Enter clarified butter, also known as ghee. Here's why it's the lactose-free superstar:

1. The Clarification Process: To make ghee, butter undergoes a meticulous process where milk solids are removed. This separation eliminates almost all lactose, rendering it virtually lactose-free.

2. Digestive Ease: For individuals with lactose intolerance, ghee is often more tolerable. Its simplicity and absence of lactose-related components reduce the likelihood of digestive discomfort.

3. Nutritional Benefits: Ghee retains the rich, nutty flavor of butter without the lactose baggage. Plus, it offers potential health perks, such as being a source of healthy fats and vitamins.

4. Culinary Versatility: Ghee's higher smoke point makes it a versatile choice for cooking, sautéing, and frying, without the fear of lactose-related issues.

So, if you're seeking the delicious essence of butter without the lactose concern, ghee is your go-to. It combines culinary excellence with digestive ease, making it a preferred choice for many.
When 20.5 billions is not enough
Tags: aws, devops, amazon
Published: 2023-09-27 18:57:51

Trying to login with my old account:

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

Trying to register the account:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vzcki25b3topujm4mws8.png)
Mapify-ts
Tags: typescript, map, serialization, json
Published: 2023-09-27 18:54:17

Hey folks,

I would like to share with you and have your feedback on my new Typescript lib.

Mapify-ts supports Typescript Map serialization e deserialization.

Article: https://idemax.medium.com/mapify-ts-serializing-and-deserializing-map-objects-in-typescript-aeac8c272029

NPM: https://www.npmjs.com/package/mapify-ts

Github: https://github.com/idemax/mapify-ts#readme

Looking forward your feedback.

:)
Ferramentas para testes de API
Tags: testing, qa, developer, api
Published: 2023-09-27 18:43:35

API significa Application Programming Interface, basicamente uma espécie de ponte para ligar diferentes tipos de aplicação.

Os testes de APIs são focados em validar se de fato essa ponte é realizada de forma segura, confiável, performática.

Para isso, podemos contar com diversas ferramentas para automação desses testes. Algumas delas:

- Postman

simplifica cada etapa do ciclo de vida da API e agiliza a colaboração.

- Insomnia

facilita a organização de suas requests e o gerenciamentos de ambientes

- Jmeter

bastante usado nos testes de desempenho

- Rest-Assured

traz a simplicidade de usar essas linguagens para o domínio Java

- SoapUI

ferramenta de código aberto para protocolo de acesso a objetos simples (SOAP) e transferências de estado representacional (REST)

Importante também saber que não existe a ferramenta perfeita. 

Escolha a que melhor se adequa para você considerando as funcionalidades de cada ferramenta, praticidade no uso, custo e curva de aprendizado.
[PT-BR] Page Model com TestCafé
Tags: testing, qa, developer, testcafe
Published: 2023-09-27 18:37:55

O que é Page Model?
Basicamente é organizar e separar o código em pages. Os métodos definidos no modelo de página ficará disponível em qualquer lugar.

Por que usar Page Model?
Fornecer uma separação clara das camadas de UI e lógica, reaproveitamento de código, organização do projeto de automação e flexibilidade para as equipes.

Vamos no código entender melhor o Page Model.
Dentro do projeto criamos uma página de teste, onde nela colocamos todo código de interface. Ou seja, os elementos html mapeados + o método de ação com esses elementos.

```
import {t, Selector } from 'testcafe';

class Page {
    constructor () {
        this.nameInput      = Selector('#username');
        this.passwordInput  = Selector('#password');
        this.submitButton   = Selector('button').withText('Login');
    }

    async typeName(name) {
        await t.typeText(this.nameInput, name);
    }
    async typePassword(password){
        await t.typeText(this.passwordInput, password);
    }

    async clickSubmit() {
        await t.click(this.submitButton);
    }

}

export default new Page();
```
Então criamos nosso arquivo de teste onde os métodos criados na page são utilizados na lógica dos cenários de teste.

```
import page from '../page/pageLogin'

fixture `Use a Page Model`
    .page`http://the-internet.herokuapp.com/login`;


test('Sucess Login', async () => {

    await page.typeName('tomsmith');
    await page.typePassword('uperSecretPassword!')
    await page.clickSubmit();

});
```
Sendo assim, podemos descrever diversos cenários, uma vez que ocorra mudança em algum elemento html ou até mesmo na massa de dados, o local de alteração passa a ser único e a mudança reflete em todas  os cenários que utilizam daquela informação.
Creating Scrollable Horizontal Tabs in Chakra UI: A Quick Fix for Responsive Design
Tags: webdev, react, nextjs, ui
Published: 2023-09-27 18:32:06

When working with Chakra UI, you may have noticed that by default, tabs are not horizontally scrollable. This can pose a challenge, especially when dealing with a high number of tabs, potentially disrupting your responsive designs.

There's a straightforward solution to this problem that I discovered that involves a little Chakra UI styling. By wrapping the TabList component in a Box and applying some styles, you can easily achieve horizontally scrollable tabs.

```
<Box overflow="auto" maxWidth="inherit">
        <TabList w={[`max-content`, `100%`, `100%`]}>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
          <Tab>Lorem ipsum</Tab>
        </TabList>
</Box>
```
Screenshot Results (mobile view):

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

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



Let's break down what's happening here:

<Box> Component: This is a versatile container component in Chakra UI. We're using it to wrap our TabList. The overflow property is set to auto for responsive behavior. It means that if the content overflows the box, it will be scrollable.

overflow Property: This controls what happens when content overflows the box. In this case, it's set to auto, allowing the content to be scrollable.

maxWidth Property: We're setting the maxWidth to "inherit", ensuring that the box takes the maximum width available.

<TabList> Component: This is the component responsible for rendering the list of tabs.

w Property: This is the width property. We're setting it to different values based on screen size using Chakra UI's responsive array.

Implementing this code will give you the desired effect of horizontally scrollable tabs, making it much easier to manage a large number of tabs on your website.

Give it a try and see how it elevates your design and user interaction!

Author
[Tashyn Wallace](https://tashyn.com/)
Operator Mono, Ligatures & Italics
Tags: vscode
Published: 2023-09-27 18:03:32

At the beginning of my coding journey, I was watching a video by Wes Boss and fell in love with the Operator Mono font. I loved it so much but couldn't justify $200 on it at the time. 

This year, I finally splurged on it since I stare at my code editor every single day. I had done this set up once and got it working but recently forgot how I did it. So here's a recap now that I've got it working again.

You need to purchase the [Operator Mono](https://www.typography.com/fonts/operator/styles) font. 

I used this [gist](https://gist.github.com/junagao/f785ed77589246a3d063273b3a56f114) for getting italics to show as cursive. There are so many different customizations for what you want this to look like so if you're not digging this particular one, definitely do some research.

I really love ligatures, they make my brain happy. To get ligatures working with Operator Mono, I used [operator-mono-lig](https://github.com/kiliman/operator-mono-lig). They have instructions for how to get this to work for Windows, Mac and Linux so hopefully your bases would be covered. 

Both times I've done this I've gone and updated my VS Code settings before remember install the font, so don't be like me and remember to grab those from the build folder first.

One thing I found that differs from the `operator-mono-lig` documentation is that I needed to add my font as `Operator Mono Lig`.

My `settings.json`:
```json
{
    "workbench.colorTheme": "In Bed by 7pm",
    "workbench.sideBar.location": "right",
    "security.workspace.trust.untrustedFiles": "open",
    "editor.fontFamily": "Operator Mono Lig, Menlo, Monaco, 'Courier New', monospace",
    "editor.tabSize": 2,
    "files.autoSave": "afterDelay",
    "editor.minimap.enabled": false,
    "editor.fontLigatures": true,
    "editor.tokenColorCustomizations": {
        "textMateRules": [
            {
            "scope": [
                //following will be in italic
                "comment",
                "entity.name.type.class", //class names
                "constant", //String, Number, Boolean…, this, super
                "storage.modifier", //static keyword
                "storage.type.class.js", //class keyword
                "keyword", //import, export, return…
            ],
            "settings": {
                "fontStyle": "italic"
            }
            },
            {
            "scope": [
                //following will be excluded from italics (VSCode has some defaults for italics)
                "invalid",
                "keyword.operator",
                "constant.numeric.css",
                "keyword.other.unit.px.css",
                "constant.numeric.decimal.js",
                "constant.numeric.json"
            ],
            "settings": {
                "fontStyle": ""
            }
            }
        ]
    },
    "editor.fontSize": 14
}
```

Which gives me this:

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


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o948ak1gn8ayuqrz5zbj.png)
Remember the Importance of Data Validation
Tags: beginners, webdev, ruby
Published: 2023-09-27 18:00:36

After being introduced to Active Records and working with SQL in Rails, I was working on an assignment earlier today and came up with a roadblock.

I completed the assignment, and submitted it to the auto-grader.  Everything looked perfect on my end, all of my own tests worked, but for some reason 1 single test on the auto-grader was failing, and I could not figure out why.

I approached one of the course instructors and asked for help.  He advised me to open up the test, and manually run through the steps the test was going through.  This was absolutely helpful advice: I was looking at the code and didn't see any problems, but I did not think to step through the test in this way.

It turns out the test was providing incomplete data to enter into the database, and so it was throwing an error when I tried to read that same data back.

The code was perfectly fine, but the data was not fine!  And this is something we definitely need to remember - when working with user supplied data, there is no guarantee it will be accurate or complete.  

We must always build our systems in such a way that we can validate any externally provided information, and determine an appropriate way to handle that information depending on the purpose of the application.
Why should we pay for chrome extensions for AI stuff ?? 🧐🧐🧐
Published: 2023-09-27 17:56:39

After chatGPT was released, I've been using chrome extensions such as "Sider". 

- Description of Sider chrome extension
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zxycxrn10xzz5fp7lhav.png)

- How it looks when installed 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/df5lvpt4spf3vmix2rpi.png)

It provides many features and lovely UI but the downside is... I have to pay for the usage even though I'm using api keys of my own(And I use Sider to ask questions only 😡)!! I looked for other chrome extensions but they also asked me to pay if I wanted to use more. 

I know it's worth paying, but I didn't want to pay for it anymore. So I created a sidebar(which is a chrome extension) that can be used to call chatGPT APIs more easily. I am opening this into [open source](https://github.com/seonwoo960000/ai-sidebar) because I want it to have more features and used it freely by people who suffer from same problem as I did. 


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


Please feel free to contribute to this NEW open source if you have interest. It's written in "Vue 3" and "Typescript". Minimal code has been written, so you'll find it easy to grasp the structure and ideas. 

Features that has to be implemented are: 
- Allow users to select model 
- Allow users to stop streaming response from chatGPT 
- Better UI/UX design 
- Support AI other than chatGPT(Google bard etc) 
- ... more ideas are welcome 😀

So please feel free to come and take a look, and if you want to contribute, just do it! Let's make something great together. Btw I'm planning to distribute it to chrome extension soon! 

Chrome extension: https://chromewebstore.google.com/detail/free-ai-side-bar/bphjdepgpbodffelhponjdfpjdajghgc
GitHub link: https://github.com/seonwoo960000/ai-sidebar
Git aliases for better efficiency and convenience
Published: 2023-09-27 17:43:59

``` 
[alias]
    # one-line log
    l = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short

    a = add
    ap = add -p
    c = commit --verbose
    ca = commit -a --verbose
    cm = commit -m
    cam = commit -a -m
    m = commit --amend --verbose
		
    d = diff
    ds = diff --stat
    dc = diff --cached

    s = status -s
    co = checkout
    cob = checkout -b
    
# list branches sorted by last modified
    b = "!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'"

    # list aliases
    la = "!git config -l | grep alias | cut -c 7-"
```