Javascript antiguo

Hace ya varios años fui uno de los instructores más solicitados de JavaScript en INEGI, cuando había mucha capacitación para el personal, después un compañero del mismo INEGI, nos dio un curso de HTML 5, sentí que sabía las cosas pero igual que aquel que sabe el idioma pero de forma antigua (por ejemplo español o griego antiguo).

Dejamos un mucho de lado el desarrollo web, y ahora en la materia de desarrollo de aplicaciones III estamos haciendo un sitio web y empezamos con el clásico login.

Hay cosas que son mucho mejor verificar en el cliente, lo primero es constatar que el nombre de usuario sea válido, para lo cual definimos las siguientes reglas:

  • Letras y números
  • Un solo punto que no puede ir ni al principio, ni al final, si no existe el punto, el nombre de usuario también es válido.
  • La longitud mínima es de 3.

Vamos a explorar aquella técnica que el buen profesor Humberto Armando González nos enseñó en mis años mozos en el CETis 155, el análisis de cadenas, desarrolla mucho la lógica cuando empezamos a programar, aunque sin duda un método muy elegante y moderno son las expresiones regulares.

Read More

Usando la librería Newtonsoft.Json para usar Json con C#

Ahora en el trabajo por aquello de la seguridad y la innovación se esta trabajando con archivos en formato Json.

¿Qué es el formato Json?

Ahora replico la definición de la página www.json.org

“JSON (JavaScript Object Notation – Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo. Está basado en un subconjunto del Lenguaje de Programación JavaScriptStandard ECMA-262 3rd Edition – Diciembre 1999. JSON es un formato de texto que es completamente independiente del lenguaje pero utiliza convenciones que son ampliamente conocidos por los programadores de la familia de lenguajes C, incluyendo C, C++, C#, Java, JavaScript, Perl, Python, y muchos otros. Estas propiedades hacen que JSON sea un lenguaje ideal para el intercambio de datos.”

Últimamente y ante el auge de MVC, la definición de clases y objetos en los lenguajes de programación que se relacionan con los objetos de la base de datos esta muy en boga.

Read More

Microsoft Azure

Hemos empezado a husmear y a hacer pruebas muy básicas con el cloud, en principio con AWS. Ahora toca el turno a Microsoft Azure.

En el Instituto Nacional donde laboro llevamos varios años con un romance con el gigante del software comprando licencias corporativas de sus productos.

Estas licencias – llamadas suscripciones – ahora han empezado a hermanar su plataforma estrella de desarrollo de software – Visual Studio .NET – con la plataforma Azure.

Azure proporciona muchísimas soluciones y una de ellas es la que mostraré brevemente: la publicación de una página web en Azure.

En otros artículos comento de forma irónica como iniciamos con el desarrollo de aplicaciones web utilizando .NET con Visual Basic, para nuestras pruebas teníamos un equipo dedicado donde publicábamos el sitio web por medio del Internet Information Services, claro todo esto de alguna forma fuera de regla, ya que sentíamos que el área encargada de dar este servicio nos limitaba en cuanto a la configuración del servicio.

Read More

VNC Viewer

MANEJO REMOTO DE UNA COMPUTADORA CON

VNC Viewer

 

  • Existen varias formas de tener el control remoto de una computadora.

 

  • Por medio de otra computadora.
  • Con dispositivos móviles (Celulares, Tablets, etc.).

 

El método que a utilizar será desde mi celular, controlaré mi computadora con la app de VNC Viewer descárgandola desde la Play Store.

Read More

Linux minimalista

En los últimos años, las distros de Linux, todas usan una GUI para instalar aunque claro hay expertos que lo hacen sin necesidad de eso.

Hace algunos años quite el entorno gráfico a un Debian 7, sin embargo quedaban discos duros muy grandes y para entregárselos a los muchachos se debía de preparar los archivos para su distribución varias horas antes, pues por su tamaño el copiado era lento.

Muchos posts en Internet hablan de distros ligeras e inclusive usamos Puppy Linux aunque la verdad no se porque también empezó a fallar desde el arranque de su archivo ISO, por lo que me dí a la tarea de instalar Tiny Core Linux.

Al consultar su página en el apartado de instalación observé que había una opción de solo instalar el núcleo, sin ninguna GUI (http://www.tinycorelinux.net/install.html).

Read More

Picapiedras con Java

Primero aclararé el punto referente a esta práctica de sistemas operativos, no se trata de enseñar Java desde el shell, es simplemente la importancia de que los profesionales en informática sepan usar una consola, terminal, shell, símbolo de sistema o como quiera que se le llame.

Aún cuando vivimos tiempos de escritorios con Windows 10 y web-html5-css3-aspx-jsp-ruby-grails-phyton-php-javascript-nodejs-Angular-jquery-php-json, etc, etc, ect, los procesos (demonios) cercanos al núcleo siguen ejecutándose en segundo plano mientras nosotros como sencillos humanos vemos una hermosa GUI de última generación que utilizamos para realizar nuestras labores o bien como medio de entretenimiento.

No siempre pasa que nuestro hermoso código no funciona por razones de profunda complejidad o enorme desconocimiento del lenguaje, falla porque tu cerebro hizo corto debido al choque de dos neuronas moribundas y cambiaste el nombre de un identificador (una variable, un método, un paquete -como fue el caso-, etc) e intentas que funcione invocándolo o referenciándolo como si tu compilador o interprete  tuviera tecnología de “lenguaje natural” y entendiera sinónimos o lo que le quisiste decir,  en pocas palabras tu código falla por una tontería (en mi rol de profesor no debo de escribir improperios).

Para acabarla vas con tu sensei, un erudito en ese lenguaje de programación y sales con tu “batea de babas” (eso no es un improperio) y él amable pierde unos minutos  de su tiempo y no se mofa de ti como lo mereces.

Pero pasando a este post cavernario y que probablemente no será de mucha utilidad solo para mis alumnos actuales de sistemas operativos que es su Practica 1 de la unidad 3, para todos los demás lectores mera curiosidad y cierta nostalgia del pasado. Entonces pues, pasamos a la cuestión de la linea de comando.

Read More

AWS cómputo en la nube

Como una evolución a la materia de Sistemas Operativos nos dimos a la tarea de investigar sobre el cómputo en la nube, ya que de acuerdo al libro de “Information Technology for Management” se mencionaba sobre la oferta que brinda Amazon sobre la utilización de servidores virtuales a sus clientes.

El maestro Beto, también impartió un curso sobre el tema en meses pasados, y al saber que no tenía costo les encargué a mis alumnos que investigaran, cosa que no fue posible ya que era necesario el introducir una tarjeta de débito o crédito para poder inscribirse a este servicio y en nuestra cultura esas condiciones no son comodas.

En aras de la investigación y con un poco de recelo me inscribí en dicho servicio AWS (Amazon Web Services), y por eso ahora les describiré brevemente sobre el proceso de creación de un servidor virtual.

Read More

Herencia, clases abstractas…

<<Preliminar>>

Para la materia de Optativa II estamos viendo los procesos de desarrollo de software. Por necesario y global no podemos dejar de lado el proceso unificado debido a la importancia bestial de la POO. Es por ello que para entrar en materia, una vez más trabajamos con el juego de serpientes y escaleras.

Nos adelantamos un poco y empezamos a programar la clase Dado.

La idea es hacer la aplicación en consola en Java, y pues pensando en el futuro próximo en una de escritorio , web, o móvil. Entonces nuestro primer diagrama de clases preliminar es así:

…(luego detallamos…)

Vamos a crear un proyecto nuevo en Netbeans.

Elegimos un nuevo proyecto.

Y Java Class Library, y damos click en el botón Next.

Read More

Borrado de registros de forma múltiple en Oracle

En ocasiones es necesario hacer un borrado de registros en base a ciertas condiciones. Esto es más interesante cuando podemos relacionar alguna tabla para tomar la decisión en de que registros borrar. Aquí un pequeño ejemplo de la instrucción DELETE con la clausula EXISTS.

Digamos que tenemos una tabla donde esta un propietario con su respectivo vehículo que guarda en una pensión.

Read More