3 maneras de optimizar tus programas en C# 💯

3 maneras de optimizar tus programas en C#

Uno de los problemas que más se repite en los programas que manejan muchos datos o que tienen algoritmos complejos, es el tiempo que tarda el sistema en realizar los cálculos y los recursos que necesita. Por esta razón, hoy te enseñamos 3 maneras de optimizar tus programas en C#

¿Qué es optimizar?

Optimizar es un proceso clave en el mundo empresarial, el cual consiste en reducir los recursos necesarios para alcanzar un objetivo. En este caso queremos reducir el tiempo de computación y la cantidad de memoria, necesaria para ordenar un conjunto de datos grande. La optimización tiene los siguientes problemas:

  • Es un proceso complejo, ya que para alcanzar mejoras en el rendimiento, muchas veces, es necesario utilizar estructuras de datos más complejas.
  • Requiere definir claramente qué queremos optimizar (memoria, tiempo, uso del disco duro, etc), porque en muchos casos al optimizar un parámetro, empeoramos otros.
  • Es necesario conocer a fondo la plataforma y tecnologías que estamos utilizando, para saber qué mejoras son más óptimas.
  • El coste de optimizar suele ser logarítmico, al principio se necesita poco tiempo para conseguir mejoras, pero se llega a un punto donde el coste de desarrollar una mejora es muy alto.

Leer más

Hackr: recursos gratis sobre programación ⌨️

Hackr: recursos gratis sobre programación

Una de las cosas que más se suelen solicitar en el mundo del desarrollo, es dónde encontrar recursos para aprender a utilizar una tecnología o lenguaje concreto. Hoy te enseñamos uno de los sitios que puedes utilizar como referencia.

¿Por qué son tan solicitados los recursos?

Quizás a alguien que está empezando o venga de otro ámbito le resulte curioso, cómo en el campo de la informática siempre se están pidiendo nuevos recursos. Esto ocurre porque:

  • Es un área muy dinámica, donde nacen multitud de tecnologías todos los meses.
  • Los lenguajes actuales evolucionan rápido.
  • Rara es la librería que no se actualiza con grandes cambios cada dos o tres meses.
  • Los desarrolladores y principales fabricantes dejan de soportar las versiones antiguas, quedando tu desarrollo inutil.

Sin embargo, no todo son problemas este cambio contínuo ayuda a que los profesionales mantengan el interés. Además, favorecen la evolución y el aprendizaje contínuo, dos características básicas de un buen desarrollador.

Leer más

Cómo insertar un video de YouTube en WPF o UWP

Cómo insertar un video de YouTube en WPF o UWP

YouTube actualmente se ha convertido en el lugar por excelencia para albergar vídeos, por lo que es bastante común que tengamos que reproducir algún video hosteado en este servicio en nuestras aplicaciones.

Utilizando el control MediaElement

Tanto WPF como UWP tienen el control MediaElement, que no es más que un reproductor nativo de elementos multimedia (video, audio), como se puede ver en la siguiente imagen:

Demostración del control Media Element en UWP

Leer más

Aprende CSS de manera visual

Aprende CSS de manera visual

Uno de lo mayores problemas que solemos tener al utilizar CSS es que hay multitud de características, que se aplican de manera distinta a los navegadores y que no solemos saber exactamente que efecto tienen.

CSS de manera visual

A la hora de aprender CSS normalmente encontramos páginas donde explican cada una de las características de manera textual. Algunas incluyen además imágenes o gifs para ayudar al entendimiento. Sin embargo quizás la mejor manera de conseguir entender cómo funcionan es mediante una comparación de las visualizaciones de los distintos valores de una propiedad. Esta idea es la que siguen en CSS Reference.

Leer más

El framework de desarrollo web más ligero

El framework de desarrollo web más ligero

Cuando vamos a desarrollar una web, una de las cosas más fundamentales y críticas que debemos hacer, es elegir el framework de desarrollo web que vamos a utilizar. Esto es debido a que desarrollar una web de cero suele ser algo bastante costoso.

Vanilla JS

Vanilla JS es un framework de desarrollo web ligero, rápido y multiplataforma que nos va a permitir construir aplicaciones increíbles. Algunas de las funcionalidades que soporta son:

  • El uso de objetos
  • Animaciones
  • Expresiones regulares
  • Manejo de Arrays y cadenas de caracteres
  • Gestion del DOM
  • Soporte para eventos

Leer más

Cómo crear una galería fotográfica con JavaScript

Como crear una galeria fotografica con JavaScript

Uno de los proyectos más comunes hoy en día es crear una galería fotográfica o cualquier otro sistema que muestre de una manera impactante nuestras imágenes. Hoy os vamos a enseñar a hacerlo, utilizando una conocida librería de JavaScript.

Creando la galería fotográfica con JavaScript

Para desarrollar nuestra galería vamos a utilizar la biblioteca de JavaScript Grade.js la cual nos va a permitir:

  • Extraer los dos colores dominantes principales de la imagen
  • Generar un degradado basado en ambos colores
  • Enmarcar una fotografía con nuestro degradado

Todo lo anterior lo crea con muy pocas líneas de código y de manera totalmente automática. Para mostraros cómo funciona, lo mejor es basarnos en el siguiente ejemplo que he creado.

Leer más

Extraer el texto de una imagen con JavaScript

Extraer el texto de una imagen con JavaScript

Una de las técnicas de inteligencia artificial más estudiadas es la denomiada OCR (Reconocimiento Óptico de Caracteres), la cual consiste en extraer el texto que hay en una imagen.

Por qué es útil el OCR

Hoy en día, encontramos multitud de situaciones donde parte de los documentos o medios en los que trabajos son digitales y otra parte analógicos. Como todos sabemos los ordenadores trabajan muy bien con la parte digital, ya que así están pensados, sin embargo se comportan bastante mal cuando tienen que tratar con datos que no son digitales, como por ejemplo:

  • Cantidades escritas a mano (facturas, contratos, cheques…)
  • Direcciones escritas a mano (envíos, paquetería, facturas…)
  • Indicaciones escritos a mano (comentarios, modos de uso…)

Para intentar salvar todos los problemas anteriores, se aplican técnicas de OCR, las cuales parten de una imagen donde está el texto a reconocer y, con un conjunto de algoritmos ya entrenados, son capaces de extraer en mayor o menor medida el texto que hay en esas imágenes.

Leer más

¿Qué son los punteros y cómo se usan?

Que son los punteros y como se usan

Uno de los problemas más comunes a los que se enfrentan los usuarios que empiezan a programar en C o C++, es el uso de los punteros.

¿Qué es un puntero?

Un puntero no es más que una variable, en la cual se almacena una dirección de memoria. Esto parece muy simple, pero luego da muchos quebraderos de cabeza. Al ser una dirección de memoria, le podemos decir a un puntero que en ese lugar donde apunta queremos almacenar un valor, por ejemplo un número.

Para realizar una explicación muy sencilla, vamos a decir que un puntero es como un buzón de correos y nuestra memoria RAM, es similar a una comunidad de vecinos donde hay muchos buzones. Además en esta comunidad en lugar de tener el nombre puesto en el buzón, cada uno va a tener un identificador único.

Explicación simple de los punteros

Como se puede ver en la imagen, hay muchos buzones (zonas de memoria), pero no todas las podemos usar, ya que hay buzones que son nuestros y otros que son de otros vecinos (otros programas).

Leer más

La CDN de tus recursos de programación web

La CDN de tus recursos de programación web

Cuando estamos trabajando en el desarrollo de una web, normalmente nos enfrentamos al problema de que hay múltiples librerías y recursos para realizar una tarea concreta. Una vez que realizamos la elección de los distintos componentes que vamos a utilizar en nuestro proyecto, nos topamos con el problema de cómo integrarlos al mismo. En este momento encontramos distintas maneras de proceder:

Usando recursos locales

Una primera aproximación y quizás la más utilizada es descargar todos aquellos recursos que vamos a utilizar (bibliotecas de JavaScript, fuentes, estilos …), enlazarlos y subirlos a nuestro servidor. Esto no es bueno para las cachés, ya que si tu web usa jQuery y el usuario antes ha visitado una web que usa jQuery, su navegador va a volver a descargar ese fichero con la pérdida de tiempo y rendimiento que eso supone.

Usando recursos remotos

Para solventar el problema podemos hacer que nuestro recurso (por ejemplo jQuery) sea cargado desde un servidor conocido, esto hace que si el usuario ha visitado otra web que también usaba el mismo recurso en el mismo servidor, la caché funcione y no tenga que volver a obtenerlo.

Leer más

Cómo añadir resaltado de sintaxis a tu web

Cómo añadir resaltado de sintaxis a tu web

Uno de los mayores problemas que encontramos las personas que escribimos sobre programación es la necesidad de mostrar el código fuente de manera sencilla. Esto se hace normalmente mediante algún sistema de resaltado de sintaxis, el cual nos permite colorear cada conjunto de palabras claves.

 

Añadiendo resaltado de sintaxis a tu web

El resaltado de sintaxis está presente en todos los editores de código, pero también lo podemos usar en una web mediante Prism.

Este desarrollo nos va a permitir mediante el uso de un fichero JavaScript que contiene los patrones y otro CSS que cuenta con los colores, conseguir un resaltado de sintaxis profesional, que no tiene nada que envidiar al de tu entorno de desarrollo. Este desarrollo además es compatible con multitud de lenguajes (más de 100) y cuenta con temas y plugins para que podamos adaptar el aspecto final. Finalmente podemos decir que tal es la calidad, que algunas empresas como Mozilla lo usan en su documentación online.

Leer más