No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Continúa con el Curso de Go Avanzado

30/30
Recursos

Aportes 15

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

El proyecto es muy interesante, pero necesita mas contexto y tal vez algún diagrama para entender exactamente qué está pasando

Que gran curso, trabajo con Go, los test y POO son cosa de todos los dias, pero el modulo de concurrencia me impresiono y me mostro lo mucho que me falta.

Buen curso, mejoraría el apartado del proyecto, pero en general estuvo muy bien

En general creo que es buen curso, pero muchas veces no se entiende de manera sencilla que es lo que estamos solucionando me refiero a mayormente todo lo referente a concurrencia y canales, por lo menos yo que vengo desde nodejs a veces me pierdo …

Que buen curso!! Esto de la concurrencia me gusto mucho y mas como lo explico el profesor.

Buen curso, y sobre si es un lenguaje o no orientado a objeto… Desde mi opinión creo que no lo es, puede simular ciertos aspectos pero seria todo.

Excelente el curso, me aclaro muchas dudas que me habían quedado del curso básico de GO.

Muy buen curso, Go te da una amplia visión al momento de construir software…

¡Gracias! Muy buen curso, yo creo que Go si es OO porque funciona igual que otros lenguajes OO pero se implementa de forma diferente. 🐹

NO me gusto la explicacion, el profesor escribia las lineas de codigo, pero no explicaba porque se hacian de esa manera tampoco daba ejemplos suficientemente claros. : (, : (

Aprender sobre realizar tests en Go es excelente, me gustó mucho la forma de realizarlos, aunque espero que en los cursos de Go avanzado estén ejemplos de tests obteniendo datos de una base de datos, aunque está excelente la forma en que lo planteas, Néstor, de verdad, este es un curso totalmente recomendable

Me gusto el curso, quiza más desarrollo al final en el proyecto, pero en general aprendí mucho, le estoy agarrando cariño a GO y me gusto el proyecto final. Sin duda recomendado. La librería estandar viene potente y me doy cuenta que se puede explotar más las capacidades del sistema con este lenguaje que es compilado y que te permite aprovechar los recursos de manera relativamente fácil.

Buen Curso Nestor !
Dio una visión amplia del lenguaje y sus características propias que no comparten otros lenguajes. Me confundo un poco con la concurrencia y considero que con un diagrama puede ayudar a entender la idea principal o sugiriendo algo para practicar la concurrencia.

Lo de los test buenisimos!!

https://gist.github.com/solrac97gr/f08ec5e2cbb805a1ccb4b49e2b51ae2f

func TestGetOneRule(t *testing.T) {
	tests := map[string]struct {
		testSetup      func(m *mocks.MockRuleRepository)
		assertionSetup func(subtest *testing.T, r domain.Rule, e error)
	}{
		"Success get rule": {
			testSetup: func(m *mocks.MockRuleRepository) {
				m.
					EXPECT().
					Get(gomock.Any()).
					Return(domain.Rule{
						ID: "test",
					}, nil)
			},
			assertionSetup: func(subtest *testing.T, r domain.Rule, e error) {
				assert.NotNil(subtest, r, "")
				assert.Nil(subtest, e, "")
			},
		},
		"Error in the repository to get rule": {
			testSetup: func(m *mocks.MockRuleRepository) {
				m.
					EXPECT().
					Get(gomock.Any()).
					Return(domain.Rule{}, errors.New("get rule bla bla"))
			},
			assertionSetup: func(subtest *testing.T, r domain.Rule, e error) {
				assert.Equal(subtest, domain.Rule{}, r, "")
				assert.NotNil(subtest, e, "")
				assert.Contains(subtest, e.Error(), "get rule", "")
			},
		},
	}
	for name, test := range tests {
		t.Run(name, func(subtest *testing.T) {
			ctrl := gomock.NewController(t)
			defer ctrl.Finish()

			ruleRepositoryMock := mocks.NewMockRuleRepository(ctrl)
			clientRepositoryMock := mocks.NewMockClientRepository(ctrl)

			if test.testSetup != nil {
				test.testSetup(ruleRepositoryMock)
			}

			srv := rulessrv.New(ruleRepositoryMock, clientRepositoryMock)
			rule, err := srv.Get("")

			if test.assertionSetup != nil {
				test.assertionSetup(subtest, rule, err)
			}
		})
	}
}

Excelente curso, gracias por una explicación clara y concisa. En mi opinión, Go puede comportarse parcialmente como un lenguaje OO, pero estructuralmente no lo considero OO.