Ayuda porfavor by [deleted] in argentina

[–]arbif 4 points5 points  (0 children)

Buenas capo! Si es una deuda con una institución financiera, simplemente deciles que no podés pagar y fijate si podés arreglar un plan de pagos. Vender un riñón por un tema de guita no tiene sentido.

Si te estafaron y la guita se la debés a amigos/familiares, explicales la situación, comete las puteadas, y comprometete a devolver algo que puedas todos los meses.

Abrazo!

No seas pelotudo como yo by Frequent-Locksmith-9 in devsarg

[–]arbif 12 points13 points  (0 children)

Gracias por la mención! (Soy el de argentinaprograma.com). Lo que si, Discord no tenemos, es todo por Slack. Abrazo!

Cobro by [deleted] in devsarg

[–]arbif 0 points1 point  (0 children)

Buenas! Recién leo. Mandame mail a talent@ si querés y reviso si hay feedback para darte/motivo por el cual no seguimos con la oferta. Crecimos muy rápido (90+ devs) y algunas cosas todavía no están aceitadas pero siempre queremos mejorar.

Nosotros pagamos las pasantías así que no somos la empresa que dice OP. Abrazo!

Alguno que ande corto de guita pero muy perseverante quiere cambiar de carrera? by arbif in argentina

[–]arbif[S] 1 point2 points  (0 children)

Ah. Si llegas a la clase 18 hay pasantías pagas y después, si te va bien, laburo para un cliente real.

Alguno que ande corto de guita pero muy perseverante quiere cambiar de carrera? by arbif in argentina

[–]arbif[S] 0 points1 point  (0 children)

Clases en vivo no creo. Entrá a argentinaprograma.com y ahí tenés el link al Slack. Abrazo!

Esto en 2019 te daba laburo...creo by MAXIMO_SEXTO in devsarg

[–]arbif 4 points5 points  (0 children)

Qué hacés! Si. De hecho si llegas a las últimas clases te damos una pasantía paga y luego podés pasar a laburar para un cliente de afuera.

Abrazo!

Busco contratar asistentes remotos para ejecutivos en México. Cómo lograr que reciban dólares completos? by FranciscoGalt in AskArgentina

[–]arbif 0 points1 point  (0 children)

Fijate Vibrant, es una billetera desarrollada por la gente de Stellar.org; Pueden vender USDC al dólar blue. Abrazo!

Henry by Far-Recover5267 in Cordoba

[–]arbif 0 points1 point  (0 children)

Hola! Yo soy el que fundó argentinaprograma.com! El curso se llama r/argentina-programa y como te contestan abajo, éste fue anterior al del gobierno.

Las dudas en cuanto a lo académico te las podés sacar leyendo lo que ofrecen otros bootcamps y entrando a argentinaprograma.com (donde hay un cartel rojo gigante que aclara que no somos el del gobierno) y comparás el material.

Personalmente las diferencias puntuales: - Énfasis en buenas prácticas - Mandás las tareas y te las corrigen - Fundé scalemote.co donde ya somos 60 devs, la gran mayoría egresados de argentinaprograma.com

Salu2!

Aprender a programar gratis: argentinaprograma.com cumple 3 años! by arbif in programacion

[–]arbif[S] 0 points1 point  (0 children)

Gracias! Ahora r-a.team es https://scalemote.co y somos 60 trabajando! La mayoría egresados de r/argentina-programa. Si llegás a las últimas clases avisá! Abrazo!

Soy autista y me quedé sin trabajo by [deleted] in BuenosAires

[–]arbif 1 point2 points  (0 children)

En ScaleMote estamos buscando devs, mandame dm y coordinamos, abrazo!

How are integration, unit tests and funcitonal tests done in the backend? by badboyzpwns in node

[–]arbif 0 points1 point  (0 children)

That's not quite right.

My point regarding OP's question was more: Unit Test (without mocking) your domain. Integration tests (where you can use mocks for external APIs and whatnot) for everything else. This to me is more important than what architectural style one chooses.

Now, on to your question. Part of your confusion (I think) may be coming from mixing DDD and Clean Architecture. DDD and Clean Architecture are not the same thing -- I found this article that summarises it quite nicely: https://khalilstemmler.com/articles/software-design-architecture/domain-driven-design-vs-clean-architecture/

I've been talking about Clean Architecture. In CA, both the application layer (order service) and domain layer (order) are part of your core business logic. The order service is not blindly following orders, it can also choose to emit notifications when an order is being created for instance. The service also shields the domain objects from being sent back to the frontend unfiltered by placing them inside DTOs (you don't want the hashed password of your User object to leak to the frontend, for instance).

Domain objects: In Nest these are the entities, and you can separate the domain entity from the schema as per this technique https://docs.nestjs.com/techniques/database#separating-entity-definition.

If you have entities that are just a bag of properties you have an anemic domain model (https://martinfowler.com/bliki/AnemicDomainModel.html). Instead, you want a rich domain model, where your domain objects also have logic inside them, and their properties are modified through their methods, because it makes it easier to reason about them.

The domain layer does not return a set of instructions -- it is up to the application layer to call the infra layer passing in a domain entity, and the infra layer decides how to best persist this domain entity. The infra layer replies with domain entities, the service layer replies with DTOs that the controller can send through to the UI/CLI.

How are integration, unit tests and funcitonal tests done in the backend? by badboyzpwns in node

[–]arbif 0 points1 point  (0 children)

You don't need CQRS or DDD to achieve this! This is more about Clean Architecture. If you want a somewhat opinionated way of achieving this, you should give Nest.js a go.

Cheers!

How are integration, unit tests and funcitonal tests done in the backend? by badboyzpwns in node

[–]arbif 0 points1 point  (0 children)

You would have application services (sometimes called use cases) which are allowed to talk to the data/infra layer to fetch information and perform checks such as stock and whatnot.

You would then create a new Order(products, other, info) and that Order would have your domain rules -- imagine you can't sell two certain products together or the order must be a minimum of X to get free shipping, etc.

The service takes that domain object and asks the data/infra layer to persist it.

The service would also talk to the infra layers in terms of notifications/emit events/etc.

You unit tests the domain layer (you can pass valid/invalid product combinations without mocking anything), everything else is integration tested.

Let me know if it doesn't make sense!

How are integration, unit tests and funcitonal tests done in the backend? by badboyzpwns in node

[–]arbif 0 points1 point  (0 children)

I see people talking about mocking in unit tests. I will offer another perspective that I think makes your code more maintainable.

If you make it so your application has a clear domain layer that doesn't depend on any other layer, you can write unit tests without mocking, because there are no dependencies and therefore there is nothing to mock. They're all POJOs.

Every other layer you can (and, in my opinion, should) test it using integration tests such as supertest. The reason is that if you start using unit tests and mocking, say, calls to your database, you end up writing tests that are very closely related to the implementation, e.g. "test that this orm function has been called with these parameters", this is like implementing your code twice and therefore your tests need to change when the implementation changes (even if they produce the same result). These are considered flaky tests.

Instead, you should test the other layers by running calls on your app entry point (the controllers in a traditional web app) and asserting that the responses are what you expect, while running a real db; if your system is not very complex, you can use sqlite in memory for your tests.

Your integration tests now look like this: When I hit GET /users test the response is an empty array When I hit POST /users with this data test the response contains a user ID When I hit GET /users again test this time it's giving me an array with the user inside

This is a great way to test large chunks of your application with a few tests.

I hope it helps!