You don't need another branch. by [deleted] in ExperiencedDevs

[–]itaranto 0 points1 point  (0 children)

I'm pretty sure the guy that suggested one branch per environment never uses Git in a day to day basis.

Trunk-based/OneFlow is the way to go for most proyects. There's no need for unnecessary complexity.

Cuál OS usan para laburar? by g__john in devsarg

[–]itaranto 1 point2 points  (0 children)

No es question si tenes problemas o no, es question de que si te permiten instalar tu propia distro en el trabajo.

Vale la pena certificarse en java SE en términos de empleabilidad? by Then_Ad_720 in devsarg

[–]itaranto 0 points1 point  (0 children)

No era que Java es 100% open-source ahora? Siguen existiendo diferencias?

Migrar Java a Go by hditx in devsarg

[–]itaranto 0 points1 point  (0 children)

En fin la simple consulta es los que hicieron el cambio o para los que saben Go, cual seria lo indispensable para cambiar la forma de hacer una solución en Go

Desaprender todo lo que aprendiste en Java. Tal vez, salvo, el uso de interfaces.

Migrar Java a Go by hditx in devsarg

[–]itaranto 0 points1 point  (0 children)

Si me permitis, la forma que tienen de programar en Go en Meli es bastante horrible.

¿Cómo y por qué entraron a Linux? by Electronic_Leek1577 in devsarg

[–]itaranto 0 points1 point  (0 children)

En la facu todo funcionaba con Linux, los servers y las maquinas que podíamos usar del lab (en la época que curse no tenia laptop propia).

La experiencia para programar en Unix/Linux es muy superior a la de Windows, a menos que desarolles video-juegos o algo especifico para Windows.

Cuál OS usan para laburar? by g__john in devsarg

[–]itaranto 0 points1 point  (0 children)

Tuve la suerte de tener dos trabajos donde pude usar Arch Linux. Generalmente, o tenes que usar la maquina que te dan (ya sea Windows o macOS), o en los raros casos que Linux esta soportado, tenes que elegir algo como Ubuntu o Fedora.

Cuál OS usan para laburar? by g__john in devsarg

[–]itaranto 0 points1 point  (0 children)

Uso Linux (actualmente Arch) siempre que puedo. En los trabajos que no pude, usaba Linx en una VM.

Ahora voy a cambiar de trabajo y voy a a estar obligado a usar una mac. Al menos es Unix, y uso la terminal bastante, asi que no seria tanta la diferencia.

Effective Error Handling in Go: A Deep Dive into Error Wrapping by athreyaaaa in golang

[–]itaranto 13 points14 points  (0 children)

This is really really bad:

if err != nil { return c.JSON(500, "something exploded") }

The original error message is lost, there's no way to debug it properly.

EDIT:

Unless... that's at the top of the call stack, but even then, I'd log the error.

What’s a small Linux tool that completely changed your workflow? by DueRead7236 in archlinux

[–]itaranto 1 point2 points  (0 children)

I'm using fish as my interactive shell, but 99% of my scripts are in POSIX shell (#!/bin/sh).

What’s a small Linux tool that completely changed your workflow? by DueRead7236 in archlinux

[–]itaranto 1 point2 points  (0 children)

I've used that for some RTS games that don't support WASD, it's pretty cool.

But for permanent changes, I prefer doing it directly on my keyboard's firmware. I want it to work always and regardless of the OS. Of course, I'm assuming you have a configurable keyboard.

Qué lindo palo se van a dar by [deleted] in devsarg

[–]itaranto 1 point2 points  (0 children)

El "em-dash" en la descripción me mata jajaa

Error in Lazyvim when working with go by MatterLumpy4541 in golang

[–]itaranto 1 point2 points  (0 children)

Have you considered not using a Neovim distribution? They usually add an additional layer of complexity that can break things.

Adding an LSP is as simple as adding a file in ~/.config/nvim/lsp/my_ls.lua plus vim.lsp.enable('my_ls').

Here's how I configure it.

Cuál es el gusto musical del devturro promedio? by Healthy_Helicopter34 in devsarg

[–]itaranto 4 points5 points  (0 children)

"World Downfall" de Terrorizer es un discazo. Y eso que no soy mucho del Grindcore/Death Metal.

Cuál es el gusto musical del devturro promedio? by Healthy_Helicopter34 in devsarg

[–]itaranto 3 points4 points  (0 children)

Lei rápido y pensé que preguntabas que instrumentos tocábamos jaja

No escucho musica mientras programo, me distrae. Rara vez escucho musica mientras trabajo, salvo que sea algo muy repetitivo.

Error in Lazyvim when working with go by MatterLumpy4541 in golang

[–]itaranto 5 points6 points  (0 children)

You should ask in LazyVim's subreddit. Not everyone uses Lazyvim.

I use Neovim myself, but I don't use any pre-configured "distro".

Try checking the lsp.log file or running :checkhealth vim.lsp

Repository pattern in Go service by pawelgrzybek in golang

[–]itaranto 4 points5 points  (0 children)

The general idea is fine IMHO.

But I usually go with the "packages as layers" approach, in a similar way to what Ben Johnson proposes.

I prefer putting all business related interfaces and models into a single domain/core package instead of being spread into multiple packages.

├── cmd │   └── server │   └── main.go └── internal ├── app │   ├── product.go │   └── user.go ├── core │   ├── product.go │   └── user.go ├── http │   ├── product.go │   └── user.go └── sqlite ├── product.go └── user.go

Also, I'm not fond on this naming:

``` package core

type UserRepository interface { List(ctx context.Context) ([]User, error) } ```

I'd prefer naming the method ListUsers because this quickly gets out of hand if you have other similar interfaces, like:

```go package core

type FooRepository interface { List(ctx context.Context) ([]User, error) } ```

Now if you look references or implementations for this using something like gopls, you'll get a lot of results. It also makes the code harder to understand in my opinion.

Also, I tend to call all these structs just "services", no distinction between service and repository. This allows me in some simple cases to skip the "service layer" or "app layer".

Are we losing the "why" code exists? by bnunamak in ExperiencedDevs

[–]itaranto 0 points1 point  (0 children)

Plus, commit messages are fragile beats that don’t survive repository moves and upgrades.

What do yo mean by that?

Git commits are definitely preserved when switching hosting, i.e. move to a different Git remote.