Saludos estimado. tengo una consulta. tengo un proyecto wcf en c#. y nos esta dando problemas de rendimiento. tenemos que mejorar la capacidad de atencion de consultas por segundos. pasar de 25 solicitudes que actualmente tenemos a unas 100. ya nos dimos cuenta que el problema lo tiene el codigo (consumo de CPU). y no la base datos. Que herramientas o que tecnicas de revision. o una guia de pasos a seguir para revisar este tema. Me ayudaria mucho que me pudieras ayudar.
Programo desde los años 80 ... y si algo aprendí (y a la brava) es que más vale sentarse un "par de horas" a estructurar la solución antes de ponerte a codificar; eso si, regla de oro: si ves a medio camino que la estás cagando, lo mejor es "borrón y cuenta nueva" y NUNCA ponerse a parchar lo que comenzó mal, con una base de mal diseño. Trabajarás más intentando poner parches que si lo estructuras bien desde un inicio. OJO, sentarse a diseñar no implica que obtengas un buen diseño, pero si una estructura que te ayudará a marcar objetivos claros. Saludos.
Aquí vengo a presionar... ¡Cabezón, haz un video de backend con bases de datos, seguridad y todo eso! ¡Y muchas gracias por seguir dejándonos contenido! :)
Lo he visto en sw multi-tenant... lo vi y lo diagnostiqué. Me pidieron que repare esa "pequeña" vulnerabilidad que se les paso. Jugar a la ruleta rusa con seis balas tenía más probabilidades de éxito que ese proyecto. ¡Fue un hasta la vista baby, suerte!
gran video cabezón hubiera agradecido este conocimiento en mis años de pasante . pero ahora invierto mas tiempo en el diseño antes que empezar a codear
Buen video bro, creo que en owasp ese tipo de vulnerabilidad la llaman Insecure Direct Object Reference y es muy común siempre hay que revisar que el usuario tenga permisos para acceder a cierta información no solo estar autenticado
Ese tipo de mal diseño y vulnerabilidad a la vez, se conocen como IDOR. y el otro error que veo es en el tipo de alg para el JWT, al ser HS256 se pueden hacer ataques a ese algoritmo :/. saludos y excelente video.
Me sumo al video con base de datos y seguridad. Yo recién estoy aprendiend por mi cuenta y voyde a poquito. Terminé de aprender lo básico de php y mysql. Y me toca leerme un par de libros que recomendaste en videos asados antes de seguir así no se me amontonan con respecto a la interfaz, que me cuesta mucho porque recién hace poco aprendí el POO.
Buen video hdeleon, una duda cuando se manejan los roles, y por ejemplo un admin si nesesita ver la info, tendria que crear un endpoint solo para que sea consumido por este , saludos...
Saludos estimado. tengo una consulta. tengo un proyecto wcf en c#. y nos esta dando problemas de rendimiento. tenemos que mejorar la capacidad de atencion de consultas por segundos. pasar de 25 solicitudes que actualmente tenemos a unas 100. ya nos dimos cuenta que el problema lo tiene el codigo (consumo de CPU). y no la base datos.
Hola, Héctor. Una duda de diseño, Se considera mala práctica usar *un Controller usando múltiples Services* o *Un Controller que use un Service y que el mismo Service use multiples Services* o depende mucho del contexto? Usualmente yo hago un Controller un service, donde dentro de ese service contiene toda la lógica de negocio. Me llego la duda al hacer un simple CRUD de usuario con el Estado donde vive y su estatus matrimonial, hacer un controller para el Estado y el Status Matrimonial me parece mucho, pero como sería más comúnmente en un caso e un sistema real?
Que tal estimado, recibir el id de usuario para buscar su información no necesariamente es un mal diseño de software, de hecho es algo bastante común, hay sistemas que tienen su módulo administrativo donde el usuario administrador necesita consultar la información de un usuario particular, en este caso un mal diseño sería no implementar un control de acceso basado en roles, espero el comentario sirva de algo. Saludos.✌🏻
Si es verdad, es raro ver un sistema administrativo consultando la informacion de quien esta logueado solamente, es un error de diseño construir algo asi para un sistema administrativo, eso pasaria solo en aplicaciones que solo van destinadas para el ambito de cliente donde solo se necesite consultar del mismo usuario
Si es un módulo administrativo ahí, se tendría que asignar roles a los usuarios y si el usuario que consulta al servicio en su jwt en el cuerpo debe de tener un atributo y si es de tipo rol admin puede consultar todos los recursos, caso contrario si es para un usuario final si se debe de respetar el principio de pertenencia.
Hola Héctor, suponiendo otro ejemplo, digamos que a su vez la cerveza tenga una lista de propiedades que solo la cerveza debe conocer. Esa validación de pertenencia cerveza - propiedad, se debe implementar así como dicte mi lógica o también hay alguna buena práctica? Un decir el endpoint: /beers/1/prop/2