lunes, 26 de junio de 2017

Como empezar con Angular 2

Angular es un framework para aplicaciones web, mantenido por Google. Su principal característica es que hace uso del concepto de single-page application (SPA).

Lo que explicare en este post es como empezar a trabajar con este framework.

Para empezar con Angular, hay tres formas de hacerlo:
  • Desde cero, agregando archivo a archivo
  • Descargando el proyecto angular / quickstart  desde Github
  • Utilizando Angular Cli
Las dos primeras opciones en mi opinión tienen mas contras que pros. Ya que agregando archivo a archivo vas a encontrar problemas con las dependencias. Descargando el proyecto de ejemplo desde Github, proporcionado por la misma gente de Angular. Tiene el siguiente contra, dicho por ellos mismos que no es código diseñado para producción.
La ultima opción me parece mas óptima.

Angular Cli es una herramienta de linea de comandos para crear aplicaciones Angular en poco tiempo.

Los requerimientos para instalar esta herramienta son:
  • NodeJs 6.9.0++
  • NPM 3++
Para instalar Angular cli se debe ejecutar lo siguiente:
  • npm install -g @angular/cli

Para instalación en MAC debe anteceder sudo. Otra cosa, es que puede tardar un buen rato la instalación.
Por último, para crear tu primera aplicación Angular nada mas bastan estos comandos:
  • ng new my-project
  • cd my-project
  • ng serve

Fuente
https://cli.angular.io

domingo, 25 de junio de 2017

Actualizar Nodejs via NPM



Voy a hacer unas de pruebas con Electron, que es un framework para construir aplicaciones multi plataforma usando html y Javascript entre otros. Para trabajar con Electron necesito tener instalado NodeJs, al ver que versión tengo, noto que esta un poco des actualizada (versión 6.10.3). Por lo que la actualizare y dejaré registrado como se hace.


Para actualizar NodeJs desde npm se deben ingresar  las siguientes instrucciones:

  • sudo npm cache clean -f
  • sudo npm install -g n
  • sudo n stable

Fuente:
https://davidwalsh.name/upgrade-nodejs

sábado, 3 de junio de 2017

Como mostrar varias lineas de texto en un MessageBox C#

Normalmente se usa MessageBox.Show para mostrar un texto informativo al usuario. El método show de la clase MessageBox tiene mas sobrecarga, puede mostrar botones, iconos, etc.

Pero para este tip, voy a mostrar como mostrar varias lineas en un mensaje. Así como aparece en la imagen:

Tan fácil como esto:

MessageBox.Show("Linea1" + "\r\n" + "Linea2" + "\r\n" + "Linea3");

Como saber el path de un ejecutable en C#

Saber la ruta desde donde se ejecuta un programa, normalmente es utilisimo. Como para tener la referencia para leer un archivo de configuración, dar la información al usuario, etc.

En C# se puede obtener desde varias formas:






Modo 1
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase)
Modo 2
System.IO.Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]);

Modo 3
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)

miércoles, 24 de mayo de 2017

Comenzando con Python

Hay hartos lenguajes que me gustaría aprender. Pero el factor tiempo, hace que deje para después muchos intereses. Pero comenzar con Python es una de esas cosas que ya no pueden esperar. No porque tenga que hacer un trabajo remunerado con Python, sino porque en varios tópicos, entre ellos: matemáticas, machine learning, este lenguaje se aparece.

Empecé a revisar la documentación de Tensor Flow por ejemplo. ¿y que esta detrás? Python.

Voy a trabajar en un MacBook, y lo primero que haré es ver si esta instalado.
Escribo en una consola:

python -V

Me encuentro que ya tengo la versión 2.7.10.
¿Cuál es la ultima versión a la fecha?
En el sitio oficial dice que ya liberaron la versión 3.6.1, de modo que actualizare a esta versión (Considerando que mi objetivo es de aprendizaje).

Descargué el instalador para Mac desde el sitio web de python y seguí el proceso de instalación, después de lo cual me aparecieron estos dos iconos:



El icono que dice IDLE, lanza una shell de Python. Python Launcher lo voy a investigar.
Eso por ahora, creo que me lanzare en lo próximo directo a hacer algo con TensorFlow.

print("Es todo por ahora")

domingo, 4 de diciembre de 2016

SQL: ORA-01502


 Estoy tratando de insertar 40800 registros en una tabla Oracle a partir de un archivo con sentencias INSERT, y el resultado que obtengo es el error ORA-01502.

¿Porque se produce este error?
De acuerdo al sitio dba-oracle.com, este error se produce porque se esta tratando de insertar 2 o mas veces el mismo registro.

La solución es borrar el índice  indicado en el mensaje del error
ALTER INDEX PRUEBAS.PK_FAKETABLE REBUILD;

Pero también, se debe borrar los registros repetidos del script de carga. Esto lo hice usando GVIM (las instrucciones aquí)

Error SQL: ORA-01502: index 'PRUEBAS.PK_FAKETABLE' or partition of such index is in unusable state
01502. 00000 -  "index '%s.%s' or partition of such index is in unusable state"
*Cause:    An attempt has been made to access an index or index partition
           that has been marked unusable by a direct load or by a DDL
           operation
*Action:   DROP the specified index, or REBUILD the specified index, or
           REBUILD the unusable index partition

Despues de seguir las instrucciones finalmente puedo insertar 23000 registros ya que elimine los repetidos.

domingo, 24 de abril de 2016

Cargar Archivos en R


En R Studio se puede establecer el area de trabajo, para trabajar mas cómodamente y no tener que indicar la ruta completa a un archivo.

Lo que hare en este post es cargar un archivo que contiene valores de una acción de la bolsa.


Para cargar un archivo hay varias formas, pero ya que necesito cargar un csv, voy a utilizar read.csv:

Donde:
acciones : es una variable donde guardo el contenido del archivo
file : indica el nombre del archivo a cargar.
head : TRUE o FALSE indica si carga o no los encabezados.
sep : el separador del archivo cvs.

Al cargar el archivo me da el siguiente error.

Not all characters in /Users/carp/Dropbox/Bolsa/Intradia/AGUAS-A 23042016.csv could be decoded using ASCII. To try a different encoding, choose "File | Reopen with Encoding..." from the main menu.





La solución es usar un parámetro mas FileEncoding='UTF-16'

Entonces cuando usemos View(nombre de la variable), mostrará el contenido que hemos cargado.