domingo, 11 de noviembre de 2018

Java

Java es un lenguaje de programación que surgió en 1995 y fue hecho por Sun Microsystems, en la actualidad es uno de los lenguajes de programación más utilizados y cada día tiene mayor importancia dentro del ámbito Informático y del internet pues como siempre, SunMicrosystems se ha preocupado por cubrir al máximo las necesidades tecnológicas más recientes.


Java se ha convertido en uno de los lenguajes de programación más utilizados por los programadores debido a que es un lenguaje independiente a su plataforma, por tal motivo eso se ve reflejado como una ventaja significativa debido a que ahora ya no es necesario crear una aplicación o desarrollar un software para cada uno de los sistemas operativos en los que se pensaba ejecutar.

En sus inicios Java fue pensado como un lenguaje de programación que tuviera la capacidad de estar presente en cualquier electrodoméstico, sin embargo ésta idea no fue tan brillante y por tal motivo no fue posible llevar a cabo su implementación, tiempo después, uno de los desarrolladores/fundador de este lenguaje rescató la idea acerca de la implementación de Java, pero ahora dentro del Internet, luego de presentar su idea, Java se convirtió en uno de los lenguajes de programación más potente y seguro, además de ser universal, Java tuvo su primer aparición importante al ser integrado dentro del navegador Netscape, en donde permitía ejecutar programar dentro de una página web, lo cual era imposible hasta ese entonces.


viernes, 2 de noviembre de 2018

Manejo de archivos de texto

El manejo de archivos de texto es una de las herramientas muy útiles al momento de trabajar con datos que se requiere sean almacenados o trabajar con datos que ya se encuentran en algún archivo de texto, sin embargo para el uso de esta importante herramienta se suele tener problemas cuando se empieza a trabajar con ellos debido a que su manejo es un tanto complicado (que básicamente es abrir, leer y cerrar la lectura del archivo o en su caso abrir, sobreescribir y cerrar la escritura), sin embargo si se omite el cierre del archivo de texto durante la ejecución de nuestro programa generará un error, puesto que como se omitió el paso de cerrar la lectura/escritura, de cierto modo el archivo está siendo utilizado por nuestro programa y si se ejecuta éste una vez más será imposible abrirlo... por lo que será necesario reiniciar nuestra máquina o cerrar elproceso directamente desde el administrador de tareas...
En C# es necesario indicar si la acción que vamos a realizar será lectura o escritura utilizando la declaración del constructor StremReader o StreamWriter respectivamente, a continuación se muestra un pequeño ejemplo para visualizar el uso de estos constructores:

En este caso, la ruta que se le asigna a la variable sw será la ubicación de nuestro archivo .txt , como mencioné anteriormente, una vez abierto nuestro archivo de texto es fundamental hacer el cierre del mismo, de lo contrario se generará un error...
A mi en lo personal el uso de archivos de texto a pesar de no ser algo del otro mundo me genera algunos conflictos acerca de en dónde es necesario cerrar el archivo y cosas de ese estilo, sin embargo estoy consciente que nos permiten acceder a grandes bloques de información en un menor tiempo y de forma "sencilla" ...


Si quieres seguir aprendiendo más de programación no olvides estar al pendiente de mis publicaciones...



Industria 4.0

La industria 4.0 o conocida también como la cuarta revolución industrial, industria inteligente o Ciberindustria del futuro es un término que se ha convertido en una nueva palabra de moda entre el mundo industrial pues está cambiando la manera en la que se organizan los medios de producción.

Desde el año 2013 la consultora Mckiney & Co adelantaba que la transformación digital en las empresas y fabricantes estaba teniendo un impacto en donde la mayoría de las personas no estaban prestando atención tal como la organización y producción de la empresa, así como en la gestión de la relación con el cliente. Con la implementación de la industria 4.0 se pretende que la capacidad de las industrias independientemente el giro tengan una mayor adaptabilidad a las necesidades y a los procesos de producción así como también la asignación más eficiente de los recursos.

Dicho de otro modo, la indutria 4.0 no es más que la transformación digital aplicada a los procesos de producción de las industrias a través de seensores y sistemas de información para transformar los procesos productivos y hacerlos más eficientes, podríamos decir que el concepto industria 4.0 viene a ser la aplicación del IoT (Internet of Things) en las SmartCities ahora en la industria, sistemas ciberfísicos, cultura maker... en donde cada industria debe identificar el tipo de tecnología que debe adoptar para mejorar sus sistemas y así satisfacer las necesidades primordiales y poder hacerle frente a este cambio tecnológico.


Gracias a la industria 4.0 se supone una fuente sólida para competir con las industrias de occidente en cuanto a los costos producidos por la mano de obra, energía y niveles de compromiso social.

Si quieres seguir al tanto de publicaciones interesantes como ésta, no olvides visitar este blog...






viernes, 26 de octubre de 2018

Aprendiendo más de programación

Como hemos estado viendo, las estructuras de control nos permiten realizar un gran número de procedimientos dentro de nuestro código, sin embargo existen otras sentencias, una de ellas es el Switch, con esta sentencia es posible manejar una especie de menú, en donde de acuerdo a la elección del usuario es posible acceder a rutinas u opciones específicas para dicha elección.

El uso del Switch nos permite agilizar el proceso de la toma de decisiones de la misma forma en la que lo haría una serie de if() anidados, en caso de haber muchas acciones dependientes de una cantidad considerable de valores iniciales es recomendable utilizar la sentencia Switch. La síntaxis de ésta sentencia es muy sencillo, en la siguiente imagen se muestra un ejemplo:

en este caso, la variable será la opción que queremos ejecutar, tomando como ejemplo la imagen anterior en el caso de que nuestra "variable" tenga el valor "valor1", se ejecutaran las sentencias que estén dentro de ese caso, en lo personal, seguido de los dos puntos utilizo siempre corchetes({}) para  identificar de manera más sencilla el conjunto de elementos que pertenecen a dicho caso, así mismo, al término de las sentencias correspondientes a cada caso es MUY IMPORTANTE colocar la palabra break , ya que con ella será posible "abandonar" el switch y continuar con la ejecución de nuestro código (en caso de tener líneas por debajo del Switch), además de ésto, con el break se interrumpe la ejecución del SWITCH de modo que si estamos en el case2, no podremos ejecutar las acciones del case3 y así sucesivamente. 

Mi trabajo ideal!

Una de las decisiones más importantes que debemos tomar en algún momento de nuestra vida es al momento de decidir a qué nos vamos a dedicar por el resto de nuestra vida, si hacemos algo que nos gusta será más difícil que nos aburramos, sea tedioso ir e incluso aburrido.

Si encontramos algo que nos apasiona estaremos haciendo algo que realmente nos gusta hacer y por decirlo de alguna forma no estaríamos "trabajando" como tal, sino más bien estaríamos haciendo algo que nos gusta y como recompensa recibiríamos un salario. En lo personal a mi me gustaría en un principio trabajar en cualquier sitio, preferiblemente en la parte de Desarrollo de Software y tecnologías de la información, cosas relacionadas con el Internet de las cosas y cosas que tengan que ver con electrónica!!!...Pero también quiero tener mi propia empresa, posiblemente al inicio no sea algo tan formal, pero quiero empezar a buscar mis propios clientes para así poder hacer mi propia empresa y tener ya un poco de experiencia y conocimiento acerca del mundo laboral y cómo se maneja todo lo referente a la planeación de proyectos y todas esas cosas.



viernes, 12 de octubre de 2018

Lectura rápida?


La lectura rápida se ha convertido en una herramienta fundamental para casi todo el mundo, puesto que ahora con el fácil acceso a la información es necesario leer y retener grandes cantidades de información. Una persona en promedio puede leer aproximadamente 200 palabras por minuto, sin embargo existen técnicas que nos pueden ayudar a aumentar este número hasta cinco veces. La lectura rápida tiene como finalidad aumentar la velocidad media de la lectura del sujeto sin sacrificar la comprensión. Para esto existen muchos métodos, trucos y técnicas, pero los básicos son los llamados “el marcador” y “la fijación”.

La técnica del  marcador consiste en ir señalando lo que vas a leer a continuación con el dedo/lápiz o cualquier otra herramienta con el fin de mejorar la concentración y el proceso de absorción de información haciéndolo más rápido. Cada vez que leemos, el ojo realiza pausas y saltos para enfocar. La técnica de /fijación/ tiene el objetivo de reducir el número de pausas para así acelerar la lectura, esto se logra haciéndote consciente de ellas.
En el mercado existen numerosos cursos y aplicaciones que nos permiten mejorar nuestras capacidades de lectura, una de esas aplicaciones es Spritz, aplicación mediante la cual es posible mejorar significativamente la lectura a través de su página web, spritz ofrece también una extensión para navegadores la cual permite leer grandes cantidades de texto a una gran velocidad, pues su plataforma permite concentrar nuestra vista en un solo punto y así eficientizar al máximo nuestro tiempo de lectura.

Sin embargo es posible hacer nuestra propia Apliciación de escritorio que nos permita agilizar nuestra lectura de manera fácil y sencilla de forma muy similar a Spritz.  

viernes, 5 de octubre de 2018

...Más de programación...

Como hemos estado viendo las estructuras de control nos permiten realizar rutinas o tomar decisiones al momento de ejecutar nuestro programa, algunas veces resulta más cómo -para algunos programadores- utilizar este tipo de sentencias para conocer por completo el funcionamiento del programa que están realizando, sin embargo para algunos otros les resulta más sencillo utilizar funciones incluidas en las bibliotecas de clases soportadas por el lenguaje que se esté utilizando, estas funciones simplifican el código y de cierto modo lo hacen ver más limpio puesto que para ejecutar alguna acción se usan menos líneas que si se hiciera paso a paso usando estructuras de control, clases o funciones.

Con el uso de las bibliotecas o librerías, es posible interactuar más fácil con la información que se tiene dentro del programa, con la implementación de las librerías es posible dar soporte a las operaciones más comunes que se ejecutan en el programa, por lo general las librerías están incluídas en un archivo(s) que se adjuntan al programa principal al inicio del programa por medio de la sentencia #include o using seguido del nombre del archivo, una vez hecho esto es posible invocar a las funciones definidas dentro del archivo adjunto (librería), por otra parte, para poder utilizar las funciones contenidas en la librería es necesario conocer las características de esas funciones tal como la cantidad de datos que necesita y  el tipo de dato que admite como argumento así como el tipo de valor que devuelve. 

SaaS? Qué es eso?

El SaaS (Software as Service) o dicho en español como Software como Servicio, se ha convertido ya en una de las técnicas más utilizadas para la entrega de software a través de Internet por medio de suscripciones, a diferencia del software  de aplicación, el SaaS se ejecuta en servidores remotos (propiedad de los proveedores de dichas aplicaciones) y se puede acceder a él a través de un navegador web.  

Con la aparición del SaaS las grandes empresas (así como otros usuarios) se han beneficiado ampliamente puesto que los gastos en licencias, mantenimiento y costes en equipo se han visto reducidos ampliamente, el uso de SaaS es ahora una herramienta muy potente en éstos sectores pues como se mencionó ahora el acceso a software se hace a través de un navegador, por lo tanto se evita el mantenimiento continuo y la instalación de software especializado, luego de implementar este sistema se reduce considerablemente el gasto inecesario de horas hombre, pues únicamente se lleva a cabo la instalación y configuración del software una única vez, por otro lado con el uso compartido del SaaS requiere únicamente la compra una sola licencia y puede ser usada por TODOS los usuarios que puedan acceder a este servicio sin importar su ubicación geográfica.  

El uso de SaaS podemos verlo en muchísimas plataformas, más en las de correo electrónico, en donde a través de un explorador web se puede enviar/recibir correos luego de accesar a la plataforma mediante. 


domingo, 30 de septiembre de 2018

Realidad Virtual

La realidad virtual es un entorno generado a través de un sistema informático, a través de éste tipo de tecnología el usuario tiene la sensación de pertenecer al mundo virtual puesto que de cierto modo puede interactuar con él así como de los objetos que están a su alrededor, todo esto en tiempo real. Con el uso de la realidad virtual es posible simular diferentes tipos de escenarios los cuales representan al mundo real y es posible percibirlos con ayuda de lentes y algunos otros accesorios. Gracias al uso de la realidad virtual es posible simular escenarios peligrosos o que pueden ser muy costosos si se realizaran en la vida real, algunos de estos escenarios son utilizados por militares, escuelas y algunas empresas. 



Con el uso de la realidad virtual se ha podido virtualizar diferentes áreas en la educación, arte, entretenimiento, milicia, educación, medicina y contenido para adultos. En algunos lugares se utiliza la RV como una herramienta eficaz con la cual es posible mejorar el proceso enseñanza-aprendizaje debido a la interacción que se realiza entre el usuario y la interfaz (mundo virtual).

A mi en lo personal me parece muy interesante la aplicación de la Realidad Virtual en temas militares, puesto que además de presentar menos riesgo para el personal en entrenamiento representa también una disminución considerable en cuanto a recursos económicos puesto que no se hacen gastos en cuanto a movilización de unidades, personal y en recursos utilizados durante las prácticas como balas, armas y demás equipo.  Con el uso de la RV en temas militares es posible simular escenarios hostiles y así crear un entorno "real" en donde los soldados puedan poner en práctica sus conocimientos sin llegar a sufrir bajas o algún daño. El uso de RV en la milicia se utiliza para prácticas de campo y para simulación de vuelo. 








viernes, 28 de septiembre de 2018

Y ahora qué?...

Hoy hablaremos acerca de una de las herramientas más importantes al momento de codificar un programa y son las estructuras de control. Las estructuras de control nos permiten de cierto modo modificar el flujo de nuestro programa,  con el uso de éste tipo de sentencias se puede condicionar la ejecución de cierto bloque del programa, ejecutar un grupo de sentencias, realizar ciertas actividades mientras se cumple una condición o crear un ciclo para que todo el programa (o una cierta parte de él) se ejecuta un determinado número de veces. En todos (si no es que en la mayoría de los lenguajes de programación) se utilizan estas sentencias siendo diferente únicamente la sintaxis con la que podemos invocarlas.



Para realizar la toma de decisiones existe una sentencia muy básica y según mi experiencia es de las más utilizadas, hablo de la condición if/else que se utiliza para tomar una decisión, si la sentencia dentro del if se cumple ( Ej.  if(verdadero)), el bloque de sentencias dentro de esta condición se ejecutará solo una vez, de lo contrario se ejecutará el bloque dentro de la sentencia else, una vez ejecutado el bloque completo el ciclo se cierra y la ejecución del programa continua ejecutándose.

Eexisten también sentencias que se derivan de esta como lo es la sentencia if else, que se utiliza cuando se tiene más de dos opciones, sin embargo esta última puede considerarse como un if/else anidado, es decir, un else/if dentro del else de la condición original.


Para realizar la ejecución de un bloque de programas durante un determinado número de veces se usa una subcategoría de las estructuras de control, hablo de los bucles, el funcionamiento es muy parecido a la del if/else, solo que ahora el bloque de sentencias se ejecutará las veces durante las cuales la condición continúe siendo verdadera, si en ningún punto del programa la condición cambia de parámetro (verdadero a falso o falso a verdadero) el bucle se ejecutara infinitas veces. Para implementar los bucles se suele utilizar la sentencia while(condición), esta condición puede o no ejecutarse dependiendo de la condición que se esté utilizando como parámetro.

viernes, 21 de septiembre de 2018

Código Enigma



La historia de la programación ha sido muy interesante, hoy les voy a  hablar de una película que me gusta mucho ("El código Enigma") y tiene que ver con ésto, esta película nos cuenta la historia de Alan Turing, quien fue un matemático británico que trabajó arduamente en poder descifrar la máquina Enigma, que era la encargada de cifrar las comunicaciones de los alemanes durante la Segunda Guerra Mundial.

La historia comienza cuando Alan logra resolver un crucigrama que estaba en un periódico que tenía la leyenda de que aquél que lograra resolverlo acudiera a una entrevista de trabajo en una "fabrica de radios", luego de ser aceptado en aquella fábrica (que no era más que una base militar en donde trataban de resolver la encriptación de la máquina Enigma), Alan trabajó con un grupo de colegas, Hug, Joa, John y Peter, quienes intentaban resolver aquél "imposible" problema de la manera tradicional,  sin embargo Turing pensaba diferente, pues él creía que solo una máquina podía vencer a otra máquina, así que comenzó a trabajar en "Cristopher", que fue de cierta manera una potente máquina precursora de las computadoras modernas. Después de trabajar durante muchos meses y no tener resultado alguno, Alan y el resto del equipo estuvieron a punto de ser despedidos. 

Al ver que la solución a la encriptación de la máquina Enigma era casi imposible, Alan lanzó una convocatoria para conseguir más personal y resolver más rápidamente aquél problema, para ello volvió a hacer la publicación de un algoritmo como el que él había resulto, siendo una Mujer quien logró resolverlo en tiempo record, sin embargo no acepto la invitación al equipo, por lo que los avances seguían casi igual...

Después de varios meses Turing y su equipo pudieron resolver el complicado algoritmo generado por Enigma, pudiendo descifrar todas las comunicaciones hechas por los Alemanes...

Elegí esa película porque desde la primera vez que la vi la historia me pareció muy interesante pues Alan pudo construir una máquina compleja a partir de un problema que ponía en peligro la vida de miles de personas, a mi en lo personal me hubiera sido imposible poder construir una máquina tan compleja y menos con la presión que tenian en aquél tiempo! y lo relaciono con lo que estoy estudiando porque muchas de las veces voy a tener que trabajar con problemas igual o incluso más complejos y debo idear la manera más eficiente de poder resolverlos en el menor tiempo, además de que es muy importante no darnos por vencidos a pesar de que durante el proceso no sea el que queremos...

C#

C# se ha convertido en uno de los lenguajes predilectos por los programadores al momento de desarrollar aplicaciones de escritorio, C# es un lenguaje de programación orientado a objetos desarrollado por Microsoft durante el lanzamiento de la plataforma .NET ideado para desarrollar un nuevo lenguaje orientado a objetos (diferente a los que se utilizaban a finales de los 90's).
El nombre de este nuevo lenguaje está inspirado en el signo # que de cierta manera resulta ser la suma/agrupación de cuatro signos + , la versatilidad de este lenguaje es muy amplia, pues permite generar programas para las diferentes plataformas como Windows, Unix, Android, iOS, Windows Phone, Mac OS y GNU/Linux. C# o también conocido como C Sharp, es visto por algunos programadores como un híbrido entre c++ y Java, pues permite  la capacidad de combinar operadores.  

viernes, 14 de septiembre de 2018

¿Diagramas de Voronoi?

¿Alguna vez te has preguntado cómo es que GooglePlaces, Waze, Foursquare y otras aplicaciones saben qué lugares están cerca de ti? Es obvio que utilizando el GPS de tu celular pero no es tan fácil como parece... para ello utilizan algo que se llama DIAGRAMAS DE VORONOI. 

Los diagramas de Voronoi son una de las muchas piezas que conforman las estructuras fundamentales dentro de la geometría computacional, gracias a éste tipo de diagramas es posible "almacenar" información acerca de qué tan próximos están los puntos (en este caso los puntos de interés), gracias al descubrimiento de Gueorgui Voronoi es posible dividir una sección del unvierso (en este caso un mapa) en partes iguales de acuerdo a qué tantos puntos estamos tomando como referencia. Para entenderlo mejor veamos lo siguiente:

Antes de comenzar a seccionar nuestro mapa necesitamos conocer los puntos de interés que vamos a utilizar como referencia, ya sea un restaurante, una zapatería o cualquier otro sitio que queramos.  



Luego de esto, necesitamos conocer la distancia más corta entre todos los puntos (recuerda que la distancia más corta entre dos puntos cualesquiera siempre es la línea recta), después de haber obtenido esa línea debemos trazar la bisectriz (o punto medio) a esa distancia, éste proceso debemos hacerlo con toooooodos los puntos que tengamos...




Una vez hecho lo anterior basta con eliminar las líneas de referencia y lo que queda como exceso en nuestras secciones, quedando algo como lo que sigue:



Ya que hemos obtenido nuestro diagrama de Voronoi es muy sencillo conocer qué lugar nos queda más cerca. Suponiendo que nos encontramos en cualquier sección de la zona amarilla, cuando accedamos a nuestra aplicación para buscar X lugar que nos quede cerca, siempre nos enviará al punto blanco (que es a donde queremos ir) que está dentro de esa zona, si estamos dentro de la zona Roja nos enviará al punto blanco de la sección roja... Interesante no?

Quizá si hacemos todo este proceso a mano nos va a resultar más complicado dependiendo qué tantos puntos estemos considerando, sin embargo nuestros dispositivos lo hacen tan rápido que pareciera que ya recorrieron toda la ciudad y saben bien a donde llevarnos!...