Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Temas - Rex

Páginas: [1]
1
Dudas y pedidos generales / Busqueda en datos encriptados
« en: Marzo 21, 2020, 11:42:49 pm »
Buenas, estoy trabajando en una API para mi aplicación web. Estoy utilizando RSA para encriptar los datos, todo funciona perfecto. Pero al momento que deseo realizar una busqueda, se me es imposible, ya que al encriptar los datos siempre devuelve un hash diferente y no se puede realizar una comparación.

Pero, he buscado en internet y recomiendan utilizar un hash como por ejemplo MD5. Esto podría funcionar, pero si acaso deseo realizar la busqueda de un string parcial ¿Cómo lo haría?


2
Dudas y pedidos generales / ¿Es necesario esto en una API?
« en: Marzo 06, 2020, 12:50:40 am »
Hola!, buenas... lo que sucede es que estoy trabajando en una aplicación web. La misma está en react (front-end) y expressjs (backend para el API).

Ahora, lo que sucede es que tengo una gran duda... sobre saber si hacer esto es realidad necesario o no.

Mi Aplicación consulta información de una API. Entonces, como cada usuario tiene sus permisos y restricciones, estaba pensando que para tener una mejor seguridad... debería enviar el ID del usuario logeado para chequear sus permisos antes de realizar cualquier tipo de acción que sólo esté disponible para ciertos usuarios.

Osea, sí configure el CORS en el API para que solo pueda realizar consultas el host del front-end... pero me entra la duda de qué alguien pueda violentar esa "seguridad" y hacer cualquier tipo de cosa sin que se le restrinja algo en la aplicación. Es por ello que estaba pensando en incluir el ID del usuario en toda petición que haga el servidor (Aunque parece algo no recomendable)... Pero quisiera que alguien aquí me ayude u oriente sobre qué debo hacer.

Lo que requiero es que mi aplicación sea segura... y trato de que así lo sea por todas las partes.

En pocas palabras, al tratar de modificar un documento.. se enviará al API el documento modificado y el ID del usuario que realizó la modificación.. para checar si este usuario tiene o no permisos para hacerlo. ¿Es necesario o solo basta con configurar el CORS?

3
C# - VB.NET / Curso básico introductorio de C#
« en: Diciembre 08, 2019, 12:15:18 am »
Tal como lo dice el titulo, estoy creando un videocurso para quiénes requieran iniciarse en el mundo de la programación con el lenguaje C#. Este proyecto me lo llevo planeando hace mucho, por ello he empezado a subir videos de a poco, esperando que dentro de unas semanas o dias tenga una cantidad necesaria para que cualquiera dentro o fuera de la comunidad se beneficie.

Les dejo el link de la lista de Reproducción de Youtube, donde estaré añadiendo dia tras dia nuevos videos. Espero que les guste mi aporte, es mi primera vez realizando un videocurso y me ha costado un poco por ser niu.

Link: https://www.youtube.com/playlist?list=PLK46LG_MTc4iuEUNwMzxs2VYOogw_07Go

4
¿Es necesario crear un sistema y tener encriptado todo? ¿O no es necesario considerando que funcione en un entorno local?


5
Debates y Reviews / Adaptarte o resistir al cambio.
« en: Noviembre 27, 2019, 12:11:04 am »
Dado a que estamos a solo 1 mes y 4 días para comenzar un nuevo año, este y los anteriores han testigos de los diversos cambios e innovaciones en la tecnología. Se han presentado nuevos smartphones y asi mismo, actualizaciones en frameworks y otras plataformas.

Para un futuro, la robotica y los sistemas informaticos serán clave fundamental en el éxito de una empresa, tanto para su manejo de datos como para un eficiente control.

Los desarrolladores, se dice, no deben quedarse atrás.. deben actualizarse conforme las nuevas tendencias y necesidades del mercado. Deben actualizarse a los nuevos frameworks o herramientas que permitan agilizar o facilitar el desarrollo de una plataforma web o de escritorio.

A lo que quiero llegar y discutir con la comunidad, es ¿En qué repercute el que un desarrollador de la vieja escuela se resista a utilizar frameworks o cualquier otra herramienta que le facilite el trabajo? Es decir, obviamente algunos gustan de desarrollar todo desde 0 en cualquier lenguaje. Pero hoy en día, existen frameworks que te permiten hacer en 10 lineas, lo que a cualquiera le tomaría unas 1000 o más lineas de código. Por ejemplo, el mostrar datos in-real-time o realizar cualquier tipo de acción en la página web sin recargarla. Son cosas realmente dificiles si se las requiere hacer desde 0 y a nuestro modo, pero los frameworks del PRESENTE te permiten hacerlo sin ningun problema.

Es obvio, que muchos dicen que como desarrolladores no debemos acostumbrarnos a frameworks porque tendemos a depender de ellos para realizar cualquier proyecto. Pero, ¿Cómo alguien puede evitarlos si desea desarrollar sistemas complejos que demandan caracteristicas exigentes?


Este post lo hago en base a que soy uno de esos desarrolladores que acostumbra crear sus proyectos utilizando el lenguaje nativo. Actualmente solo desarrollo aplicaciones de escritorio en C#, pero no deseo quedarme en aquella zona de confort.

Investigando un poco más sobre los frameworks de desarrollo web, vi muy interesante el tema de React o Angular debido a su potencial. Además de la plataforma Firebase (De la cual me relato un colega), la cual permite pagar por uso y además empleandola con angular o react, se podrían hacer maravillas de aplicaciones. Sobre todo, siento algo de resistencia con solo ver la posibilidades que dan estos frameworks frente al desarrollo nativo que posiblemente nos hace escribir miles de lineas de código para lograr un resultado que cualquier de los frameworks antes mencionado puede hacer en unas pocas lineas.

6
Debates y Reviews / Mi Experiencia con Entity Framework C#
« en: Noviembre 18, 2019, 12:03:49 am »
Llevo un buen tiempo diseñando aplicaciones en C#, tanto en WinForms como en ASP MVC. Sólo he llegado a poner en producción algunas aplicaciones para plataformas de escritorio, y para plataformas WEB pues ninguna. Sin tanto rodeo, hace algunos meses diseñe una aplicación básica para una sucursal de ropa urbana y para la base de datos utilice MySQL. El problema empezo cuando me percaté que la versión gratuita no te permite realizar multiples consultas a la vez, por lo cual me obligue a idear la forma de ejecutar consultas de forma lineal -es decir, esperar que termine una para realizar la siguiente-. Al fin de todo, terminé la aplicación pero me lleve en mi mente que aquella aplicación podría colapsar de vez en cuando debido a aquella limitación, pero ya no podía hacer nada sabiendo que el proyecto entero fue realizado con MySQL y migrar a SQL Server ya era muy dificil.

Luego de esto, pase a diseñar otra aplicación de escritorio esta vez utilizando Entity con SQL Server. Esta aplicación fue pequeña y sencilla, por lo tal no me dio problemas y me parecio maravillosa esta herramienta.

Cuando me asignaron un proyecto -el cual aún desarrollo- más grande que todos juntos, no vi problema hasta que migre la base de datos de esta empresa (Miles de registros). Empezé a ver como las consultas con Entity empezaron a ser muy lentas y catastroficas. Era imposible realizar una busqueda en la base de datos y luego intentar hacer cualquier otra cosa. No me había percatado de esto hasta haber puesto a prueba la aplicación con datos masivos.
Afirmo que es mucho más fácil trabajar con Entity porque ya no requieres escribir consultas SQL ni procedimientos, pero al momento en que tratas, por ejemplo, de buscar un cliente por más de 2 argumentos: ID, nombre o D.N.I. Esto tardaba aún más. Ni que decir si escribias una función que recopilaba datos de múltiples tablas, se hacia todo muy lento.

No tengo idea si es porque yo trataba de realizar busquedas complejas con Entity o es porque en verdad esta herramienta se dificulta al momento de trabajar con datos masivos. Mi experiencia fue esta y yo realmente no recomendaría realizar aplicaciones con Entity que conlleven a realizar consultas complejas. Para solucionar este inconveniente en la aplicación que estaba diseñando, tuve que hacer un tipo de aplicación hibrida, que utilizaba Entity para consultas a datos pequeños y trabajar directamente con consultas T-SQL para datos masivos.

Ya que realizar consultas masivas con Entity podría tardar entre 30-60 segundos y hacerlo directamente con las herramientas que provee el módulo de SqlCliente sólo 0-1 segundos.

Esta es mi experiencia y espero saber que no soy el único que la ha pasado mal con esta herramienta.

7
C# - VB.NET / [SOURCE-CODE] SQL Server BackUp
« en: Noviembre 17, 2019, 12:17:42 pm »
Hace algunas semanas atrás quize buscar algún script o framework que me permita respaldar una base de datos entera y que me genere un script .sql. Pero paso que entre buscando y buscando no encontré alguno acorde a mis necesidades. Por ello, me surgió la necesidad de investigar un poco más sobre como extraer información de la base de datos y tablas.
A partir de esa información que recopile, pude crear un script en C# que te permite respaldar una base de datos y te genera a la vez un archivo .sql. Este script lo cree recién en la tarde de ayer, funciona muy bien con las bases de datos que yo poseo pero no afirmo que funcione al 100% universalmente.

Dejo por aquí el link al repositorio en github para que puedan checarlo y espero que ayuden a mejorarlo!

https://github.com/xNout/xSqlBackUp


Agrego unos ejemplos del cómo se utiliza:
Código: [Seleccionar]
// creamos la instancia de la clase xSqlBackUp
var SSql = new xSqlBackUp();

// Luego abrimos la conexión:
// argumentos: cadena_conexión, nombre_base_de_datos
SSql.Open(@"Data Source=DESKTOP-C810VD9\SQLEXPRESS;Integrated Security=True;MultipleActiveResultSets=True", "facycred");

// Luego de esto, utilizando el método BackUp respaldamos nuestra base de datos
// Esto dependiendo del tamaño de la base de datos podría tomar de 30-60 segundos
await SSql.BackUp(@"C:\Users\PC\Desktop\resultados.sql");



// RESTAURAR EL RESPALDO

// Es muy sencillo restaurar el respaldo realizado, solo basta indicar donde se encuentra alojado el archivo y listo!
await SSql.Restore(@"C:\Users\PC\Desktop\resultados.sql");



Espero que esto sea de mucha utilidad para quiénes lo necesiten.

8
Dudas y pedidos generales / [SOLUCIONADO] Evitar que salten la seguridad
« en: Octubre 14, 2019, 10:59:16 am »
Buenos dias/tardes/noches. Estoy actualmente trabajando en una aplicación de Windows Forms con C#. Hice un sistema que activa la aplicación insertando una serial (algo común). Pero lo que pasa, es que es tan sencillo saltarse el periodo minimo de uso solo con cambiar la fecha del computador, entonces, estoy buscando la manera de que aunque cambien la fecha de su computador no puedan saltarse el periodo minimo.
O al menos, algo con lo que pueda fijar en qué después de 15 días la aplicación no pueda usarse y no exista forma de saltarse esta seguridad. No requiero que me entreguen el código hechesito, sólo preciso que me orienten. Gracias.

9
Debates y Reviews / ¿Un programador debe ser un excelente negociador?
« en: Octubre 02, 2019, 12:36:46 am »
Buenos dias/tardes/noches. El motivo de esta publicación es porque hace días me reuní con alguien que ya tenía una mini empresa de software y me percaté que el tipo era muy bueno para sacar presupuestos, ponerle precio a su tiempo y a sus proyectos.
La idea, es que yo soy nuevo en este campo y sobre aquello sé muy poco. He llegado a vender algunos proyectos por la 1/4 parte de su valor debido a la inexperiencia del cuánto cobrar por lo que hago. En un ejemplo, he cobrado $300 dólares por un proyecto que realmente costeaba los $1500  :-[

Ahora que me estoy convirtiendo en independiente -tengo 19 años- y comienzo a tener responsabilidades, me he visto en el punto de enfocarme más en esto de la programación y en el área de creación de sistemas para Empresas. Yo realmente sé muy poco sobre este mercado, pero lo que quería consultarles a ustedes es lo siguiente:

  • ¿Cómo sabes cuanto cobrar por hora?
  • ¿Cómo se sabe con exactitud cuanto cuesta un proyecto?
  • ¿Cómo y donde aprendiste a presupuestar un proyecto?


Además de esto, también quisiera que me brindarán consejos acerca de cuáles son las cosas que se deberían evitar hacer o decir cuando nos reunimos con un propecto. En este caso hablo sobre esto, porque por error termine diciendole a un cliente cuánto me cuesta a mi contratar un hosting y también, revelar cuanto he cobrado a anteriores proyectos.

No sé si me di a explicar, pero soy inexperto con respecto a realizar tratos, presupuestar proyectos o el fijar un costo real y bien remunerado a un proyecto. Espero tener buenas respuestas y consejos!

10
Presentaciones y cumpleaños / Hola
« en: Septiembre 15, 2019, 10:08:21 am »
Buen día, me presento. Me llamo Steveen, tengo 19 años y programo en C#.

Me uní a este foro hace mucho tiempo, pero casi no entro ni escribo nada. Mi presencia aquí, es para hacer amigos y relacionarme con personas con mis mismos intereses de la informática.

Espero poder adaptarme bien y aprender mucho con toda la información que se encuentra en este foro. Diría que soy programador Senior en C#, ya he desarrollado varios proyectos que he vendido. Pero de igual forma, espero seguir mejorando.

Páginas: [1]