Translate

domingo, 8 de mayo de 2016

OCL, poniendo restricciones a nuestros modelos en UML

No acostumbro hacer post de modelado, pero en la maestria estamos viendo OCL y me gusto mucho. Por lo general no nos damos cuenta lo incompletos que son nuestros modelos UML y cuando tenemos que delegar la tarea de programación es cuando surgen los problemas.

Sin restricciones claras alguien que no piense como yo puede cometer errores. Para definir las restricciones se invento OCL (Object Constraint Language).

OCL es un lenguaje para la descripción formal de expresiones en los modelos UML.  Y las expresiones pueden ser invariantes, precondiciones, postcondiciones, inicializaciones, guardias, reglas de derivación, así como consultas a objetos para determinar sus condiciones de estado.

OCL completa UML y le da un grado mayor de detalle a nuestros modelos. Cuando hago expresiones OCL me da la impresión que estoy programando y esto es entendible porque estoy bajando un nivel.

Algunas cuestiones a tener en cuenta:

  • OCL no es un lenguaje de programación.
  • OCL es tipado, cada expresión OCL tiene un tipo.
  • La evaluación de una expresión es atómica.

Veamos un ejemplo de definición de un invariante para no ser tan abstractos.

context Ejemplar
inv: self.id > 0 and self.id < 999999

En el siguiente ejemplo vemos que la expresión tiene un contexto, que es el objeto, donde se aplica la expresión. Luego se detalla un invariante donde decimos que el id del ejemplar tiene que estar entre 1 y 999999. Veamos otro ejemplo:

context: Publicación
inv: self.autor.nombre.size>0 and self.autor.apellido.size >0

Estamos diciendo que una publicación debe tener un autor con un nombre y un apellido (al menos)

Por este post estamos. Más adelante revisaremos más expresiones OCL.

Dejo link: http://www.omg.org/spec/OCL/

lunes, 2 de mayo de 2016

Seminario de seguridad en base de datos oracle

Me llego este mail y lo quiero compartir por que es muy buena:

Ver este mensaje en un navegador Web
Oracle University
COMPARTIRLinkedInTwitterFacebookgoogleplusemail
Expert Seminar
Fecha: 
26 y 27 de Mayo 2016
Horario: 
8.30 h.
ubicacion
Ubicación: 
Aula Mazz Soluciones 
La seguridad en las bases de datos hoy en día ya no es una opción, es una necesidad. En el mundo actual donde existen leyes y regulaciones, no podemos estar expuestos a riesgos. Participe de este seminario donde aprenderá:
Temas:
  • Aspectos básicos de seguridad en base de datos Oracle 11g y 12c Standard y Enterprise Edition
  • Cómo construir una política de seguridad en Oracle DB
  • Colocar la seguridad en los datos de manera independiente de las aplicaciones que lo consuman
  • Construcción de una política de seguridad y auditoria para Oracle Database
  • Encriptado de datos y enmascaramiento
  • Seguridad avanzada con Database Vault
  • Auditoria centralizada con Audit Vault
Audiencia:
  • Especialistas / arquitectos de seguridad informática
  • DBAs
  • Jefes de sistemas
  • Jefes de desarrollo.
Información sobre costos y otros detalles aquí:

mariela.cerbino@oracle.com 
daiana.lopez@oracle.com 
Cupos limitados
Certificado de Asistencia Oracle.
  
Agenda
agenda
Día 1
Introduction to Database Security & Requirements

Choosing Security Solutions

Standard Database Security , News in 12c

Advanced Database Security, Virtual Private Database & OLS

Transparent Data Encryption

Oracle Data Masking
Día 2
Database Vault Overview

Implementing Database vault

Using Database Vault

Audit Vault Overview

Configuring & Managing Audit Vault

Using Audit Vault
Prepararse en seguridad para el presente y el futuro es una apuesta segura para las empresas y los profesionales.
¡Lo esperamos el 26 y 27 de mayo!
Aula Mazz Soluciones
Parana 425 Piso 5 (C1017AAI)
Capital Federal, Argentina
Oracle
Oracle
Oracle Corporation - Worldwide Headquarters
500 Oracle Parkway, OPL - E-mail Services
Redwood Shores, CA 94065, United States
COMPARTIR
LinkedInTwitterFacebookgoogleplusemail
Entre em contato | Avisos Legais e Termos de Uso | Política de Privacidade

Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

Probando ElementaryOs

Sigo probando linux ahora elementaryOS muy lindo sistema operativo basado en Ubuntu. Es un sistema operativo que nació para los usuarios de apple pero ahora a tomado una personalidad propia.

Es muy recomendable el único problema es que la ultima versión no esta del todo estable. Al parecer tiene bugs. No lo pude comprobar en persona. Pero en mi caso nunca pude configurar la resolución de la pantalla. Por lo que me quedo 400x600 :(

Pero más allá de mi primera impresión deben probarlo porque es muy usable y bonito. Todo concuerda y esta integrado.

Dejo screenshots:





Dejo link:
https://elementary.io/es/

jueves, 28 de abril de 2016

AragonDB, una base multimodelo


Luego de auge de las bases NoSQL es extraño que hablemos, y mucho menos que hable de una base de datos NoSQL nueva. Las bases de datos ya se acomodaron en su lugar y se tiene claro que lugar ocupa cada una.

Así que este post se parece a los post OPADNoSQL (otro post aburrido de NoSQL) pero esto no es así. No no, les quiero presentar a AragonDB que es una base de datos NoSQL multimodelo. Es decir te ofrece varios mundos, con un modelo adaptable a varias realidades.

Aragon es una base de datos libre y de código abierto. Esta esta conformada por modelo de datos flexible que puede ser visto como una base documental o orientada a grafos o clave-valor.

ArangoDB es una "base de datos documental"; que básicamente proporciona acceso a los documentos que se almacenan en colecciones. En NoSQL no hay necesidad de definir un esquema de antemano. Los documentos en ArangoDB se identifican por una única clave, lo que permite el almacenamiento de clave / valor. Pueden ser conectados, lo que le permite tratar y consultarlos en forma de grafos. Por lo tanto, se puede elegir el modelo que mejor se adapte a sus necesidades o combinar los modelos de una manera conveniente.

Además ofrece una Api de consulta extensible basado en javascript. Como es tradición ofrece un lenguaje de consulta llamado ArangoDB Query Language

Y todo open source y de acceso gratuito. Que más queres?

Dejo link: https://www.arangodb.com

miércoles, 27 de abril de 2016

Ahora paseo por Ubuntu Gnome 16

Con Gnome tengo un problemita, nunca me gusto del todo gnome 3 y creo que el triunfo de distros como Mint, solusOs, elementaryOs son un claro reflejo de que no soy el único.

Por lo tanto empece a probar con un tanto de escepticismo pero al poco tiempo cambio un poco mi visión. Tema principal, ningún error, es decir corre sobre Ubuntu 16 y esta estable, cosa que no me paso con Ubuntu con Unity.

Gnome shell es un poco duro para las personalizaciones pero me encontré con muchas extensiones que me permitieron darle un toque personal. La gente de gnome a pensado las cosas para ocultar la potencia de su escritorio para darle una seguridad al usuario novato.

Sin más dejo unos screenshots:







Dejo link: https://extensions.gnome.org/

domingo, 24 de abril de 2016

Me di una vuelta por Ubuntu 16

Como ya lo dije ando buscando distro y la salida de Ubuntu 16, me vino al pelo. Entonces decidí probarlo.

Pero la verdad es que me sentí un tanto desilusionado, tiene varios errores. Por lo menos lo rompí con solo configurar el menú.

Salvo este detalle, la versión esta buena. Trae novedades muy buenas como un nuevo sistema de archivos o mejoras en la interfaz.









Acá pueden ver que desapareció el menú para nunca más volver:

 

jueves, 21 de abril de 2016

miércoles, 20 de abril de 2016

Haciendo un primer programa con Machine Learning Recipes

Quiero compartir este vídeo en el cual se hace un primer programa, usando Machine Learning Recipes.

En este vídeo se hace uso de un framework de google llamado TensorFlow (que ya hablamos ) y Python.


viernes, 15 de abril de 2016

Classic Programming Paintings

Como me reí con este sitio, muy buena idea!

Por ejemplo:



“C++ developers aiding a comrade facing SEGFAULT”
1890 - Frederic Remington(collaboration from Gary Dusbabek)
“C++ developers aiding a comrade facing SEGFAULT”
1890 - Frederic Remington
(collaboration from Gary Dusbabek)

“Serverless Architecture” Joaquín Torres-GarcíaOil on canvas, ca 1943Uruguayan Masters collection(collaboration from @alvrod )
“Serverless Architecture” 
Joaquín Torres-García
Oil on canvas, ca 1943
Uruguayan Masters collection
(collaboration from @alvrod )

“Programmers at work maintaining a Ruby on Rails application&quot; Eero Järnefelt, Oil on canvas, 1893(Collaboration from Jaakko Koskenkorva)
“Programmers at work maintaining a Ruby on Rails application"

Eero Järnefelt, 
Oil on canvas, 1893
(Collaboration from Jaakko Koskenkorva)

Dejo el link:
http://classicprogrammerpaintings.tumblr.com/?soc_src=mail&soc_trk=ma



miércoles, 13 de abril de 2016

Probando Ubuntu 15.10

Tengo que formatear la Pc y quiero una distro fácil y basada en Debian, pensé en Mint pero lo use muchos años y tengo ganas de cambiar. Entonces me puse a probar la ultima versión de Ubuntu.

 A simple vista 15.10 no trae grandes cambios, sigue siendo el querido ubuntu, solo unas pequeñas mejoras. Una excelente distro.

Lo malo es que unity, que siguen sin conversenrme.






Que otra distro puedo probar?

domingo, 10 de abril de 2016

Con nosotros Android Studio 2.0


Android Studio 2.0 ha sido lanzado en su versión final. Y que hay de nuevo viejo? Bueno, nuevas herramientas para la emulación, una nueva característica para las builds llamada “Instant Run”, integración Cloud Test Lab y muchas más...

Instant Run es la mejor novedad de todas las que se añaden a Android Studio y que permitirá que se puedan crear builds en un tiempo menor. Esta característica lo que permite es que los desarrolladores vean los cambios hechos en el código de sus apps de forma simultánea, incluso cuando esté ya lista en un dispositivo o en el emulador.

También Google ha actualizado el emulador con una nueva interfaz, controles de sensor y suporte a gestos multi-touch. Posee incluso una opción de arrastra y sueltar para las APKs y así sea más fácil la instalación.

Otra característica muy buena son la integración Cloud Test Lab, que permite probar la app en un gran rando de dispositivos; una nueva indexación, que ayuda a promocionar la visibilidad de la app en la Búsqueda de Google con URLs auto-generadas; un GPU Debugger Preview si se desarrolla bajo OpenGL ES; y una actualización a IntelliJ 15.

Uff, solo falta que programe...

Dejo link:
http://tools.android.com/download/studio/builds/2-0-preview