miércoles, 4 de septiembre de 2013

Flex en linux

Flex es una herramienta que nos permite convertir una expresión regular en un autómata y de esta manera ser usada para poder construir programas en C que usen expresiones regulares en Flex, además Flex es exclusivamente para el lenguaje de programación C.

Para los que nos gusta Java existe el JLex que es algo parecido pero para java, en breve estaré publicando información sobre JLex.

Un programa en Flex está estructurado en tres partes separadas por dos %% donde la primer parte es la declaración de variables, la segunda es para escribir las expresiones regulares  y la tercer parte es para escribir código en c en caso de ser necesario.

Funcionamiento básico en Flex (ejemplo1)
Es muy sencillo usar Flex, puesto que lo primero que debes hacer es abrir una terminal de Linux (Ej. Ubuntu) y después solo debes hacer un archivo con extención .l para poder escribir en el nuestro programa en Flex.

Ejemplo:
            1.- Abrir una terminal linux.
            2.- nano ejemplo1Flex.l
            3.- Escribir el programa, la estructura del  programa en Flex.

ejemplo1Flex.l: reconocimiento de variables o numeros enteros, al escribir caracteres determina si son variables o numeros.

********************************* ejemplo1Flex.l ******************************
 /*Primer parte del programa; declaración de variables*/
digito [0-9]
letra [a-zA-Z]

/*Luego de los %% sigue la segunda parte del programa; expresiones regulares*/
%%
{digito}{digito}*  {printf("Numero %s\n", yytext);}
{letra}({letra}|{digito})*  {printf("Variable: %s\n", yytext);}


.
%%
/*Codigo de C (si lo necesito)*/

*********************** Termina ejemplo1Flex.l ******************************
             4.- Compilarlo con Flex; escribir: flex ejemplo1Flex.l
             5.- Luego de compilarlo por default genera el archivo: lex.yy.c
            6.- Hasta el punto 5 ya esta compilado si no muestra ningún error 
                 podemos continuar compilandolo en C; escribir: 
                 gcc lex.yy.c -o ejmplo1FlexEjecutable -lfl
            7.- Ejecutarlo con: ./ejmplo1FlexEjecutable
            8.- Escribir esto: var1 dirá variable, si escribes: 589; dirá número.

Después de esto ya puedes hacer cualquier programa, compilarlo en Flex, compilarlo en C y ejecutarlo en Linux.

Puedes consultar el manual de Flex 2.5 en: http://es.tldp.org/Manuales-LuCAS/FLEX/flex-es-2.5.pdf 

Luego estaré subiendo más ejemplo, por falta de tiempo no puedo hacerlo diariamente como me gustaría ya que estoy en la Universidad, pero conforme valla podiendo lo iré haciendo.





domingo, 25 de agosto de 2013

Comandos en Linux

Comandos en Linux

En esta sección explicaré algunos de los comandos más útiles en el Sistema Operativo Linux, que nos servirán para compilar un programa en C, java, etc. así como poder crear, borrar, leer un archivo o una carpeta.

  •  ls:  Ver contenido de un directorio o en otras palabras sirve para ver los    archivos o carpetas que contiene un directorio.
  • ls -l: Ver o identificar los que son directorios o archivos mediante el siguiente formato. Ej. si al escribir ls -l aparece  drwx entonces es un directorio porque d= directorio, si por el contrario aparece -rwx entonces es un archivo, porque el '-' indica que no aplica para directorios. 
  • ls -F: Listar los archivos del directorio actual, indicando el tipo de archivo.
  • ls -laC:Listar todos los archivos (incluyendo los ocultos) del directorio actual, en formato detallado y presentarlo en columnas.
  • pwd: Muestra la ruta en la que se encuentra actualmente, Ej. home/pd
  • cd directorio: El comando 'cd + el-nombre-del-directorio' permite poder entrar al directorio especificado, para ver su contenido o entrar a algún archivo que este contenido en el directorio, 
         Ej. cd Docuementos
    
       En el ejemplo anterior entrariamos a la carpeta Documentos, es decir, seria
       lo mismo que hacer doble clic en windows sobre una carpeta.
  • clear: Sirve para limpiar la pantalla, es decir, lo que esta escrito anteriormente.
  • mkdir el_nombre: Con el comando mkdir sirve para crear un directorio donde el_nombre significa el nombre con el que se quiere crear el directorio.
  • rm el_nombre: En este caso rm permite borrar un archivo llamando 'el_nombre'.
  • rm -rf directorio: Borrar el directorio denominado "directorio", incluyendo todos sus archivos y subdirectorios.
  •  cp fichero /home/datos/ : Copiar el archivo o directorio denominado "fichero" al directorio "/home/datos".
  •  mv fichero /home/datos/ :Mover el archivo o directorio denominado "fichero" al directorio "/home/datos".
  • cat archivo :Visualizar el archivo denominado "archivo".
  • man -k palabraclave: Visualizar todas las paginas de mantenimiento que contienen la palabra "palabraclave".
  •  more archivo: Visualizar el archivo denominado "archivo", una página a la vez. Para avanzar a la siguiente página se debe presionar la barra espaciadora.
  •  head archivo: Visualizar las 10 primeras líneas del archivo denominado "archivo".
  •  head -20 archivo:Visualizar las 20 primeras líneas del archivo denominado "archivo".
  • tail archivo: Visualizar las 10 últimas líneas del archivo denominado "archivo".
  •  tail -20 archivo: Visualizar las 20 últimas líneas del archivo denominado "archivo".

    • gcc prueba1.c: Con este comando podemos compilar un archivo escrito en C y genera un archivo a.out este es el nombre por default.
    • gcc prueba1.c -o Prueba1.c compila y nombra un archivo, es decir compila prueba.c y lo nombre como Prueba1.c esto si es que no tiene errores, en caso de tenerlos los mostrar y no generará el arhivo Prueba1.c
    • ./a.out comando para poder ejecutar un archivo previamente compilado.
    • ./Prueba1.c igual que el anterior pero con un nombre dado.
    Editores en linux
    En cualquier sistema operativo generalmente existen los siguientes tres editores (en caso de que no es muy fácil poderlos descargar):
    1. vi: Es el editor más básico del S.O. puedes editar un archivo pero es muy complicado con los comandos, en particular no lo recomiendo ya que aunque es el que viene por default es muy simple y complicado para usarlo.
    2. pico: Otro editor un poco más sofisticado que el anterior, si es recomendado usarlo.
    3. nano: Este editor en particular lo recomiendo mucho porque es muy fácil de usar, esto por que muestra un menú de ayuda con los comandos que puedes utilizar.
            Para usarlo solo escribimos en la terminar: nano + el nombre del archivo 
            con extencion a editar o a crear. Ej. nono prueba.c nos crearía un archivo 
            prueba.c o si ya existe lo abre para editar.


     Hay muchos más comandos en linux, pero estos son los más básicos y utilizados, en caso de que no sepas alguno en especifico te invito a que me lo dejes en un comentario y con gusto te contestaré.

    También puedes revisar la siguiente página donde encontrarás muchos más comandos linux http://www.linuxmanpages.com/





    viernes, 10 de mayo de 2013

    Desistalar JDebeloper & ADF en Solaris 11g

    En ocaciones se requiere desistanlar (uninstall) una aplicación, en esta caso lo haremos para JDeveloper 11g el proceso es similar para otros sistemas operativos.

    En una post anterior les comente como instalar JDeveloper en esta ocación hablaremos de como hacer el proceso inverso. 

    Para hacerlo, lo primero que se debe hacer es ir al directorio donde se encuentra uninstall.sh, este generalmente se encuentra en (puede cambiar dependiendo de como lo hayas instalado, pero la idea es encontrar a uninstall.sh ): 

    1. Abrir una terminal.
    2. Dirigirse a la carpeta Oracle (como usuario local), usando cd y cd .. para entrar o salirse de la carpeta respectivamente. Ej. cd Oracle.
    3. Luego entrar a la carpeta Middleware. Ej. cd Middleware.
    4. Entrar a la carpeta utils. Ej. cd utils.
    5. Dirigirse a la carpeta uninstall. Ej. cd uninstall.
    6. Una vez en la carpeta uninstall ejecutamos el siguiente comando:
          ./uninstall.sh o si no funciona utilizen ./uninstall.jar
    7. En breve les abrirá un entorno gráfico donde podrán elegir lo que quieren desinstalar.

    miércoles, 1 de mayo de 2013

    Instalar y Abrir JDeveloper en Solaris 11g



    Instalar JDeveloper

    Instalar JDeveloper en Solaris no es tan fácil como hacerlo en Windows, es por esta razón que voy a< /h1>
    compartir con ustedes como hacerlo.

    Lo primero que debemos hacer es que descargarlo, para hacerlo debemos entrar a la página oficial de Oracle http://www.oracle.com, una vez abierta buscamos la opción Downloads y nos aparecerá todo lo que Oracle ofrece, para nuestro caso nos vamos a la parte de dice: Developer Tools como se muestra en la siguiente pantalla.


    En donde debemos seleccionar JDeveloper & ADF, una vez hecho esto tendremos la siguiente pantalla en donde se deben aceptar los términos y condiciones para poder hacer la descarga.


    En esta parte debemos seleccionar Generic para el caso de Solaris, si queremos para algún otro SO podemos elegirlo, cabe mencionar que aun cuando ya hayas instalado en Solaris el JDK debes seguir este proceso.

    Luego de haber hecho lo anterior saldrá una página en donde tenemos que ingresar nuestro usuario y contraseña, esto previo a un registro que Oracle pide, es gratis.

    Esperamos a que se termine de descargar y después, una vez que tengamos el archivo .jar solo lo ejecutamos en Solaris como cualquier otro archivo, esto es dando doble clic y después de unos minutos o segundos depende la rapidez de tu máquina iniciará el instalador de JDeveloper.




    En el Directorio Raíz es en donde se guardara JDeveloper, esto es importante recordar ya que cuando querramos arrancar JDeveloper se necesitará.

    Una vez elegido el directorio damos clic en siguiente y tendremos la siguiente pantalla


    En esta parte es opcional (puedes elegir cualquiera), pude elegir típica pero como en toda instalación sugiero que sea personalizada para que nos enteramos de que es lo que esta instalando y demás.

    Al dar clic en siguiente obtenemos


    En esta parte solo revisamos que todo este activado y damos clic en siguiente

    Una vez hecho esto nos aparecerá


    No modificamos nada por lo que hacemos clic en Siguiente


    De igual forma anotamos la primera dirección donde dice JDeveloper and ADF, por que como mencioné esta dirección sera importante para cuando sea necesario iniciar JDeveloper.

    Hacemos clic en Siguiente


    De igual manera solo revisamos los datos y hacemos clic en siguiente


    Hecho esto solo tenemos que esperar entre 10 y 20 minutos para que JDeveloper se instale, No debe aparecer ningún error por lo que la siguiente pantalla debe ser la siguiente.


    Luego de esto damos clic en Listo para ver el Quickstart


    Solo revisamos lo que ofrece JDeveloper y cerramos la ventana.

    Hasta aquí termina la instalación de JDeveloper, para iniciar JDeveloper, vamos a seguir los siguiente pasos

    Abrir JDeveloper

    Primero abrimos una terminal de Solaris y usando el comando cd nos vamos a la dirección donde instalamos JDeveloper, en mi caso es hasta la dirección.

    samuel/Oracle/Middleware/jdeveloper/jdev/bin

    Una vez estando ahí ejecutamos con ./jdev a JDeveloper
    Ej. 
    samuel@solaris:-/Oracle/Middleware/jdeveloper/jdev/bin$ ./jdev

    En el mejor de los casos después de hacer esto inicia JDeveloper, pero es muy común que no sea así y por lo tanto marque el siguiente error


    Esto es normal nos pide que modifiquemos el archivo jdev.conf y para arreglarlo debemos de primero:

    Instalar la pkg nano entrando como su - root, luego lo instalamos con el siguiente comando

    pkg install nano

    en caso de ya tenerlo instalado, entonces ponemos desde tu usuario norma

    $ nano /home/samuel/Oracle/Middleware/jdeveloper/jdev/bin/jdev.conf

    una vez que abra el archivo en consola modificaremos la siguiente linea

    SetSkipJ2SDKCheck false

    Solo la cambiamos a false es decir

    SetSkipJ2SDKCheck true

    En caso de que no esté esa linea entonces la agregamos al final del documento (se mueve con las flechas direccionales).

    SetSkipJ2SDKCheck true

    Una vez hecho esto solo guardamos lo modificado
    con CTRL + O y después enter

    Ahora si vamos otra vez a correr ./jdev 

    samuel@solaris:-/Oracle/Middleware/jdeveloper/jdev/bin$ ./jdev

    Y ahora si empezara a iniciar JDeveloper


    Luego de esto veremos la pantalla de JDeveloper donde podemos programar usando este magnifico IDE de java.

    Ojala les sirva, cualquier cosa dejen sus comentarios.






    martes, 30 de abril de 2013

    Uso de los ADFs de oracle

    continuara...
    Por lo pronto para más información amigos visiten: 
    http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_55/jdtut_11r2_55_2.html
    C

    Crear/modificar un Default Domain 
    En la parte 2 del apartado descrito en la página anterior, al final del mismo te pide que corras el programa creado hasta ese momento, para hacerlo es necesario que primeramente configures el Domain, esto es relativamente sencillo ya que si es la primera vez que lo intentas correr automáticamente te aparecerá un recuadro en donde tendrás que llenarlo como sigue a ecepción de Listen Address que debe ser LOCALHOST:


    En dado caso de que ya lo hayas ejecutado al menos una vez y te hayas equivocado o te salga algun error como en el caso anterior entonces puede modificarlo. Lo primero que tiene que hacer es, ir a view/Application server naviagator


    Luego de hacer clic en Application Server Navigator aparecerá en la esquina inferior derecha la siguiente ventana.

    Una vez ubicada, hacemos clic derecho sobre IntegratedWebLogicServer y nos aparecerá

    En donde en caso de que tengas un error te saldrá activada la opcion de Update Default Domain despues de eso le saldrá la misma ventana que en un principio nos salio y la podemos modificar poniendole en lugar de 12.0.0.1 ponemos localhost y listo!!!






    Sería un placer poder recibir sus valiosos comentarios.

    martes, 19 de marzo de 2013

    Comandos (bd oracle)

    Conectarse a la base de datos
    Para conectarse a la base de datos oracle hay que seguir los siguientes pasos:
    1. Abrir una terminal
    2. loguearse como su - oracle o en su caso hacer referencia a donde esta el HOME de su base de datos.
    3. una vez escrita la contraseña correspondiente escribir sqlplus /nolog
    4. Luego conectarse como usuario sys
       SQL>  connect sys as sysdba;
    5. el siguiente paso es levantar la base de datos, para hacerlo se debe escribir:
      SQL> startup
    y después de un minutos aprox.(dependiendo de la velocidad de tu maquina) nos dirá que la base de datos
    a sido montada y abierta.
    6. Una vez conectado a la BD ya puedes hacer consultas, cambios, modificaciones, etc. en la base de datos.

    Conectarse a la base de datos con el usuario HR
    Para hacerlo es necesario primero haberlo habilitado (luego subiré como hacerlo), una vez que ya esta habilitado debemos seguir los pasos 1-5 del apartado Conectarse a la base de datos y luego continuar con estos:
    7. Salirse del usuario sys, para hacerlo solo escribe exit y damos enter.
    8. Después de haber hecho el paso anterior la BD quedará montada pero el usuario sys desconectado así como sqlplus, por lo que tenemos que entrar nuevamente a sqlplus como en el paso 3.
     bash > sqlplus /nolog

    9. El siguiente paso es conectarse con el usuario deseado (ver NOTA) en este caso hr.
       SQL> connect HR/HR;  donde el primer HR es el nombre del usuario y el segundo HR es la contraseña en este caso son la misma, la contraseña depende de cual le hayas asignado.
    10. Una vez aquí ya podrás hacer lo que esta permitido para este usuario.

    NOTA: El procedimiento es el mismo para cualquier usuario previamente ya creado.

    Comandos para crear un PROFILE (perfil).


    Profile
    Un perfil sirve básicamente para definir el tiempo de sesión de un usuario, es decir para que el usuario no se ocupe recursos que posiblemente no este usando.
    Crear un perfil llamado hrprofile, el cual tenga un limite de tiempo de 5 min.

      Ej. CREATE PROFILE hrprofile LIMIT
            SESSIONS_PER_USER                            UNLIMITED
            CPU_PER_SESSION                              UNLIMITED
            CPU_PER_CALL                                    3000
            CONNECT_TIME                                   5     
            LOGICAL_READS_PER_SESSION      DEFAULT
            LOGICAL_READS_PER_CALL            DEFAULT
            PRIVATE_SGA                                       15K
            COMPOSITE_LIMIT                               5000000;
            

    Comandos para crear un ROLE

    CREATE ROLE + nombre del rol;
       ej. CREATE ROLE hrclerk;
       ej. CREATE ROLE hrmanager;

     Dar permisos

    Al role hrclerk permitirle, select, insert y update en la tabla hr.employees

      GRANT SELECT, INSERT, UPDATE on hr.employees  to hrclerk;

    Al role hrmanager permitirle delete e insert de la tabla hr.employees

     GRANT INSERT, DELETE on hr.employees to hrmanager;

    Para consultar los roles definidos y los privilegios otorgados a través de ellos, utilize las vistas:

    SQL> SELECT * FROM DBA_ROLES;
    SQL> SELECT * FROM DBA_ROLE_PRIVS order by GRANTEE;

    En mi caso si quiero ver cuales son los usuarios asignados a cada role uso:
    select * from dba_roles_privs where grantee_role = 'hrclerk' or grantee_role = 'hrmanager' order by grantee;

    Levantar el listener en una Base de Datos Oracle
    Es necesario levantar el listener cuando queremos hacer alguna acción que necesite la comunicación de la base de datos ya se con alguna otra bd (bd distribuida) o bien cuando se queremos hacer alguna conexión de nuestra base de datos con Java o alguna aplicación.

    Para hacerlo primero
    1.- Nos logueamos como su - oracle y escribimos la contraseña (la forma de loguearse es indistinta ya que puede haber varias formas de hacerlo pero el detalle es que tenemos que entrar al HOME de Oracle).

    2.- Escribimos el comando: nom_listener start (ej. lsnrctl start).

    Si queremos parar el listener podemos usar:
    $ nom_listener stop (ej. lsnrctl stop)

    Si solo queremos revisar el status del listener, estonces escribimos:
    lsnrctl status

    PL/SQL (Procedural Language/Structured Query Language)
    Es un lenguaje de programación de oracle que soporta todas las consultas de SQL pero además sirve para crear: triggers, procedimientos, funciones, etc., una vez instalada la base de datos no es necesario instalar nada para pogramar en PL/SQL, bueno miento si es necesario que sepan programar en PL/SQL que realmente es muy sencillo si se tienen conocimientos de programación.

    COMANDOS PARA CREAR UN PROCEDIMIENTO EN PL/SQL

    continuara .....

    Sus comentarios son muy importantes, pueden pedir que es lo que quieren saber, y con gusto lo subire.







    domingo, 17 de marzo de 2013

    Bienvenidos

    Bienvenid@ a este blog, donde estare comapartiendo conocimientos de JAVA, ORACLE y LINUX  principalmente, la idea de este blog es primero tener un espacio donde guardar información importante que todos podemos necesitar en cualqueir etapa; tales como tips de ORACLE o curiosidades importantes y segundo para contribuir en la mega nube de conocimientos que es internet.

    Espero que esto pueda crecer y conforme valla aprendiendo nuevas cosas las compartire ustedes.
    Caulquier comentario  constructivo es bienvenido!!!