domingo, 29 de octubre de 2017

CSS

¿Qué es CSS?

Sus siglas son de Cascading Style Sheets, lo cual se traduce como hojas de estilo en cascada.
Es un lenguaje de hojas de estilos, creado con el fin de controlar la presentación de los elementos que se definen con HTML y XHTML. En general las hojas de estilos fueron creadas al poco tiempo de haberse creado SGML (es un lenguaje de etiquetas Standard Generalized Markup Language) con la necesidad de poder aplicar diferentes estilos a los documentos electrónicos, estas se impulsaron con el crecimiento del lenguaje HTML y el internet.

No puede faltar al momento de crear páginas web, se utiliza para definir el color, tamaño y tipo de texto, etc. El funcionamiento de CSS en una página web permite la personalización de esta misma que anteriormente no se podría lograr usando solamente HTML.

Se escriben dentro de un código HTML, posee un atributo llamado Style, dentro de el se pueden ubicar atributos separados por punto y coma uno de ellos es Font-Weight el cual sirve para indicar el grosor del texto, etc. Las hojas de estilo en cascada son desarrolladas por el W3C (World Wide Web Consortium).


Les adjunto un vídeo para una mayor aclaración

https://www.youtube.com/watch?v=GLMLN91aF6o

                        UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


domingo, 22 de octubre de 2017

Tenemos  en POO algunos conceptos y programas que aun no hemos tratado, como: JSON, Archivos CZML, Cesium.

JSON

JSON (JavaScript Object Notation) es un formato ligero para el intercambio de datos, nació como una alternativa a XML, puede ser leido por cualquier lenguaje de programación, es simple leerlo y escribirlo para un ser humano, a la maquita de igual forma se le facilita generarlo e interpretarlo. JSON es un formato de texto completamente independiente del lenguaje, pero utiliza convenciones conocidas por los programadores de:

-C                  -JavaScript         -Perl             -Etc.
-C++             -Java                   -Python

JSON se constituye por dos estructuras, la primera es una colección de pares (nombre/valor) que también se conoce como un objeto, estructura, tabla hash, lista de claves, etc. La segunda es una lista ordenada de valores puede verse como arreglos, secuencias, vectores, etc.
En JSON se permiten los números negativos, las cadenas de texto se ponen entre comillas dobles " ", permite representación booleana (true, false), el array se representa por corchetes cuadrados [ ] y lo que contenga se separa por comas (,), los objetos son colecciones no ordenadas de la forma <nombre>:<valor>, el nombre tiene que ser una cadena y el valor puede ser de cualquier tipo.



ARCHIVOS CZML

Básicamente los archivos CZML son archivos que permiten definir objetos y vectores en formato JSON, representan una ruta. Es un formato ligero que se basa en JSON el cual describe elementos gráficos y la variación de estos en el tiempo.

CESIUM

Es una biblioteca de código abierto para mapas 3D y globos de clase mundial con contenido estático y dinámico. CESIUM fue fundado en el 2011 por AGI como un mundo multiplataforma que permite la visualización de datos estáticos y dinámicos en industrias espaciales y de defensa. Tiene código abierto de JavaScript.




Cualquier duda no se les olvide dejarla en los comentarios, espero la información sea de su ayuda.

Adjunto estos links para que te des una idea de lo que puedes lograr con CESIUM

https://www.youtube.com/watch?v=TFX4MTFhcPc
https://www.youtube.com/watch?v=3_5DZ97VMBc

                         UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS



jueves, 12 de octubre de 2017

GOEJSON

¿QUÉ ES GEOJSON?

Es definido en 2008 como una especificación de formato de intercambio de datos geográficos basado en JSON (JavaScript Object Notation) llamado GEOJSON, éste permite la modificación de varias estructuras geográficas, un objeto  GeoJSon puede representar geometrías, feactures ( es una geometría que tiene propiedades adicionales) y colecciones de feactures (Son una colección de feactures).


Soporta geometrías primitivas y compuestas, de tipo:

-Polygon (polígonos (parcelas catastrales, paises, etc.)).
-LineString (calles, carreteras, fronteras, etc.).
-Point (puntos (direcciones, ubicaciones, puntos de interes)).
-MultiLineString.
-MultiPoint.
-GeometryCollection.
geometrías primitivas
TipoEjemplos
PuntoSFA Point.svg
LineStringSFA LineString.svg
PolígonoSFA Polygon.svg
SFA Polygon with hole.svg
geometrías compuestas
TipoEjemplos
MultiPointSFA MultiPoint.svg
MultiLineStringSFA MultiLineString.svg
MultiPolygonSFA MultiPolygon.svg
SFA MultiPolygon with hole.svg

La estructura que llevan los datos de GeoJSon son un objeto simple, donde se encuentran colecciones de parejas de nombre/valor o también llamados miembros. También es de formato estándar abierto, es ampliamente utilizado en aplicaciones de cartografía permitiendo el intercambio de datos de forma sencilla, rápida y ligera. Este formato permite usar coordenadas y añadirles propiedades.

GeoJSon mantiene una cantidad numerosa e mapas y paquetes de software SIG como:
(incluso algunos SIG de escritorio como QGIS). 

-Leaflet.
-OpenLayers.
-MapServer.
-GeoForge software.
-GeoServer.
-GeoDjango.
-GDAL.
-Safe Software.
-FME.
-CartoDB.

Encontramos aplicaciones como: 

- http://geojson.io/ (permite la edición de propiedades en una tabla, dibujar (puntos, líneas, polígonos), importar ficheros (TopoJSon, GeoJSon, KML, etc.), descargar el archivo realizado o compartirlo).

Realizado con geojson.io (New York, 7th Avenue). Una de las propiedades a modificar puede ser la altura y color, como se muestra en la imagen.

- http://geojsonlint.com/ (Es muy útil, permitiendo visualizar y validar datos de GeoJSon).
Realizado en geojsonlint, validación de coordenadas SIG en formato GeoJSon.


También se puede encontrar GeoJSon en Github, al anunciar este que cualquier repositorio con datos en formato GeoJSon serían "renderizados" en un mapa mapbox con OSM como mapa base.

También encontramos la evolución de este formato denominado TopoJSon, siendo este una extensión de GeoJSon que codifica topología espacial, también proporciona ficheros más pequeños.

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS.

domingo, 8 de octubre de 2017

GUI

GUI o interfaz gráfica del usuario, es un programa informático, que actúa como una interfaz de usuario, el cual utiliza ciertos elementos como imágenes y objetos gráficos los cuales son utilizados para representar la información y acciones disponibles de la interfaz. Proporciona un entorno visual sencillo, que permite la comunicación con la computadora o sistema operativo.

Sus acciones son realizadas directamente, para facilitar la interacción entre usuario y computadora, esta interfaz es una evolución de las interfaces de línea de comandos, utilizadas en los primeros sistemas operativos.


Evolución de las interfaces gráficas


CLI (Interfaz de Línea de Comandos).
GUI (Interfaz Gráfica del Usuario).
NUI (Interfaz Natural del Usuario).

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

JavaScript II

¿Qué es JavaScript?

Es un lenguaje de programación que se utiliza para crear páginas web dinámicas ( una página web dinámica es la que incorpora efectos, como en el texto, acciones al pulsar un botón y ventanas con avisos hacia el usuario). En JavaScript no es necesario compilar programas para ejecutarlos, pueden probarse directamente en el navegador sin necesidad de procesos intermedios, puesto que este es un lenguaje interpretado.

También hay que tener en cuenta de que este lenguaje no guarda ninguna relación con el lenguaje de programación Java, fue nombrado así por la época en la que se encontraba, puesto que estaba de moda la palabra Java.

La versión que se utiliza de JavaScript actualmente en los navegadores fue la publicada en Diciembre de 1999, fue la tercera edición del estándar ECMA 262. Actualmente se encuentra en desarrollo la cuarta versión donde podrían encontrarse novedades como la definición explícita de clases, etc.


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

JavaScript

En programación orientada encontramos algo llamado JavaScript, el cual abordaremos con profundidad. Como lo hemos mencionado antes, todo tiene un comienzo y un proceso de perfeccionamiento, esta primera parte constara de su historia, en la segunda parte hablaremos en sí de lo que es propiamente JavaScript.

HISTORIA

En los años 90 los usuarios se conectaban con modems a internet, allí empezaron a aparecer las primeras aplicaciones web y por consiguiente el nivel de complejidad aumentaba en los formularios, pero la velocidad que el internet manejaba era relativamente lenta para estas aplicaciones, por consiguiente surgió la necesidad de un lenguaje de programación que se ejecutara en el navegador, para que el usuario no tuviera que llenar el formulario y esperar que este mismo le mostrara los errores.

Brendan Eich quien trabajaba en Netscape, pensó solucionar dicho problema adaptando otras tecnologías existentes al navegador "Netscape Navigator 2.0", llamando a este inicialmente "LiveScript", que sería lanzado en 1995. Antes del lanzamiento se cambió el nombre por "JavaScript",  Netscape realiza una alianza con Sun Microsystems para el desarrollo del nuevo lenguaje.

La primera versión de JavaScript fue un éxito y Netscape Navigator 3.0 también puesto que traía incorporada la siguiente versión, al poco tiempo Microsoft  lanzó JScript con su navegador Internet Explorer 3.JScript, al cual sólo le cambiaron el nombre, pues era igual que JavaScript.

Netscape decidió estandarizar el lenguaje JavaScript, donde en 1997 envió dicha especificación al organismo ECMA (European Computer Manufacturers Association). Donde este creo el comité TC39 con el objetivo de estandarizar un lenguaje de Script multiplataforma e independiente de cada empresa.


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS






domingo, 1 de octubre de 2017

SENTENCIAS II

Continuando con las sentencias, también encontramos:

El If-Else es una sentencia condicional de dos ramas, la sentencia de control evalúa la booleana, Si la condición es cierta ejecutará la primer sentencia, si por el contrario es falsa ejecutará la segunda sentencia la cual se encuentra dentro del else. La clausula else no es obligatoria, podemos escribir un else y dejarlo vacío y no afecta en nada.


También encontramos sentencias como el for, el while, do while, continue, entre otras.

Adjunto un enlace para mayor aclaración.

https://www.youtube.com/watch?v=CJol15sy4oM

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

SENTENCIAS

Las sentencias en programación orientada a objetos, se introducen dentro de un archivo, sin las sentencias el interprete ejecuta las sentencias de principio a fin conforme le aparecen.  Las sentencias de control de flujo se utilizan para ejecutar sentencias condicionalmente, cambiar el rumbo de la ejecución o, repetir un conjunto de sentencias.

Hay sentencias condicionales o selectivas, allí encontramos:

-Switch.
-If-Else.

El SWITCH en java es una sentencia que se utiliza para elegir una opción entre varias o de una expresión simple llamada "expresión de control", no puede ser de tipo double o string. La expresión de control, es evaluada y comparada en cada etiqueta denominada "case", dicha etiqueta tiene un valor diferente, cada sentencia se ejecutará hasta encontrar un break.
Para alterar una sentencia de selección múltiple, existe la sentencia break, la cual finaliza con el bucle, esta sentencia va acompañada de un punto y coma, como la ejecución termina al encontrar un break, los demás "case" se tomarán en cuenta en la siguiente ejecución del programa fuente, hasta encontrar un break.



UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

sábado, 30 de septiembre de 2017

INTERFACES

En programación orientada a objetos las interfaces constituyen un conjunto de métodos abstractos y de constantes teniendo como finalidad determinar el funcionamiento de una clase, pueden tener visibilidad public o package.

CARACTERÍSTICAS

- Sus métodos no pueden ser estáticos por lo que se encuentran re definidos.
- Sus métodos son public y abstract.
- La interfaz puede ocultar constantes y métodos de otras interfaces.
- Las clases que tengan una interfaz deben definir todos los métodos de esta.
- Una clase puede implementar una o más interfaces.
- Para generar herencia entre las interfaces se pone la palabra extends y el nombre de las interfaces que se desean separadas por comas.
- No se pueden crear objetos de esta utilizando "new".
- Todos los nombres de constantes van en mayúsculas.
- No se pueden instanciar.
- Sólo permiten atributos con "public static final".


Por ejemplo:

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS.

domingo, 24 de septiembre de 2017

SOLID III

Finalmente de los principios SOLID tenemos:

I- Interface Segregation (Segregación de interfaces).

Es un principio formulado por Robert Martin y es muy parecido al primero.
Un cliente no debe estar obligado a implementar interfaces que no usa. Muchas interfaces específicas son mejores que una única mas general.

Cuando un cliente depende de una clase que implementa una interfaz cuya funcionalidad este cliente no usa pero que otros clientes si usan, este cliente esta siendo afectado por los cambios que realicen otros clientes en la clase en cuestión. Se debe evitar este tipo de acoplamiento cuando sea posible y esto se consigue separando las interfaces en otras mas pequeñas y especificas.


D- Dependency Inversion (Inversión de Dependencias). 

Fue definido por Robert Martin con el objetivo de desacoplar las clases, en todo diseño debe existir un acoplamiento pero hay que evitarlo en lo posible, puesto que un sistema con alto acoplamiento es muy difícil de mantener.

Las clases de alto nivel no deberían depender de las de bajo nivel, ambas deberían depender de las abstracciones. Las abstracciones no deberían depender de los detalles sino al contrario.




UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

SOLID II

continuando con los principios SOLID, tenemos:

O- Open/Closed (Abierto/Cerrado).

Se utiliza con el fin de no limitar el software a una única versión. Es un principio atribuido a Bertrand Meyer el cual consiste en crear clases extensivas sin necesidad de entrar al código fuente a modificarlas, lo complicado de esto es hallar por donde extenderla. La forma mas común es por medio de herencia, aunque existe otra alternativa en la que se utilizan métodos que acepten una interfase de tal modo que se ejecute cualquier clase que implemente esta interface.

Las entidades software (clases, módulos, funciones) deben:

-Estar abiertos para su extensión, y su comportamiento puede ser extendido por otras clases.
-Estar cerradas para la modificación, el código fuente debe permanecer inalterado.




L-Liskov Substitution (Sustitución Liskov).

Este principio fue creado por Barbara Liskov y trata de la importancia de crear todas las clases derivadas para que estas sean también apropiadas como la clase base.

Las funciones que usen punteros o referencias a clases base deben ser capaces de usar objetos de clases derivadas sin conocerlos. Esto quiere decir que si tenemos una clase y varias subclases de esta, al usar una referencia a la clase principal, esta debe ser capaz de aceptar cualquier objeto de sus clases hijas.


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

SOLID

En programación orientada a objetos existen principios básicos, SOLID en este caso es un acrónimo inventado por Robert Martin que explica 5 principios básicos de la programación relacionados con la alta cohesión y el bajo acoplamiento. Siempre en programación se trata de tener un buen diseño, para facilitar los casos del almacenamiento, modificación de un código antiguo y mantenimiento.

SOLID generalmente se divide en dos partes, sus dos primeras letras, SO están enfocadas a la alta cohesión y por otra parte LID enfocada en el bajo acoplamiento. El significado de su acrónimo es:

ALTA COHESIÓN
S = Single Responsability (Responsabilidad simple).
O = Open/Closed (Abierto/Cerrado).

BAJO ACOPLAMIENTO
L = Liskov Substitution (Sustitución Liskov).
I = Interface Segregation (segregación de interfaces).
D = Dependency Inversion (Inversión de Dependencias).


Cada uno constituye un significado de gran importancia.

S-Single Responsability (Responsabilidad simple).

Este principio trata de destinar una finalidad sencilla y concreta a cada clase. Una clase solo puede tener una y solo una única causa por la cual puede ser modificada (tiene solo una razón de cambio).
En el caso de que al modificar una clase tiene dos responsabilidades  se deben separar respectivamente en dos clases.

Surge un problema al momento de necesitar utilizar un método en otra clase, porque si no se refactoriza, se creará una clase destinada a la finalidad de ese método.


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


domingo, 17 de septiembre de 2017

XAMPP

 XAMPP, es una herramienta de desarrollo que nos permite probar un proyecto o página web en el ordenador sin necesidad de acceder a internet, además es un servidor independiente de plataforma de código libre, es gratuito y consigo trae el servidor web más famoso que es Apache, bases de datos como MySQL y SQLite, incluye PHP que es un lenguaje de programación, entre muchas otras cosas.

Es un sistema de gestión de base de datos. El nombre XAMPP es un acronimo conformado por:

X: cualquiera de los distintos sistemas operativos
A: apache.
M: MySQL.
P: php.
P: perl.

XAMPP está disponible para sistemas operativos como Windows, Linux, MAC o Solaris.

Su instalación es muy sencilla y ligera, al ejecutar el programa se debe prender el servidor Apache.
la dirección o URL que maneja para encontrarlo en tu ordenador es "localhost:80" si ya tienes el servidor configurado podrás hallar tu página adicionando dos números que hayas escogido, como por ejemplo "localhost:8080".

Así se verá una vez instalado XAMPP.


Adjunto les dejo un archivo para que descarguen XAMPP en sus servidores, es muy sencillo y rápido.

                                https://www.youtube.com/watch?v=nZyn-7S8ivc

                   UNIVERSIDAD DISTRITAL  FRANCISCO JOSÉ DE CALDAS

sábado, 16 de septiembre de 2017

DIAGRAMAS DE SECUENCIA

Son un tipo de diagramas UML, que sirve para la interacción entre objetos de un sistema a través del tiempo, se moldea usando casos de uso de un sistema.

La clase describe el comportamiento del objeto, en la activación se describe o representa el tiempo en el cual un objeto realiza una tarea, los mensajes entre objetos son representados con flechas, hay mensajes sincrónicos y a sincrónicos, los primeros necesitan la respuesta inmediata y los a sincrónicos son aquellos los que no esperan una respuesta para continuar con su acción.
Las líneas de vida indican la presencia de un objetos en el tiempo.

También está presente la destrucción de objetos con simplemente una etiqueta acompañada de una flecha. Los diagramas de secuencia son útiles al momento de complementar un diagrama de clases.


Adicional adjunto un vídeo acerca de dichos diagramas, espero lo disfruten.

https://www.youtube.com/watch?v=AnztpKs9TZo

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

DIAGRAMAS UML

"Unified Modeling Language" o "Lenguaje Unificado de Modelado", es el significado de UML,  probablemente la palabra "lenguaje" no es el más apropiado puesto que este no es un lenguaje propiamente dicho, sino más como una serie de normas y estándares utilizados para representar esquemas de software, UML no es un lenguaje de programación. El sentido de estos diagramas se lo da la persona que lo diseña.

UML puede ser usado por empresas con el objetivo de tener registrado o documentado la forma en la cual se construye un programa complejo.
Para construir un diagrama UML se debe poseer un conocimiento de conectores. Se pueden construir distintos tipos de diagramas, entre ellos se encuentran:

-Los diagramas de casos de uso es donde se describe la interacción entre el usuario y el sistema, también representan los procesos principales del desarrollo del software. Producen un valor como el cálculo de un resultado, un caso de uso debe ser claro, simple y conciso. Describen lo que se hace más no como se hace.

-En los diagramas de clases encontramos que estos pueden ser la representación de los conceptos de un problema y su dominio. Muestran las clases del sistema y las interacciones de estas, son estáticos, muestran lo que el sistema puede hacer, son básicos, posibilitan la reducción del acoplamiento, son la fuente de generación del código.

-Diagramas de colaboración, son usados para representar objetos y clases, sus comunicaciones para lograr un objetivo.

Hay otros diagramas como los diagramas de estados los cuales sirven para mostrar los avances del sistema, también se encuentran diagramas de actividad, de paquetes, de arquitectura de software, etc.



UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

sábado, 9 de septiembre de 2017

ANDROID STUDIO

Existen diferentes programas o auxiliares para crear una página web bien sea para teléfonos, tablets, computadores, tv y autos.

ANDROID STUDIO

 Fue presentado en el 2013 por Google en el congreso de desarrolladores Google 1/0.

 Es un entorno dedicado a la programación de aplicaciones en dispositivos andriod (teléfonos, tablets, tv y autos), se basa en IntelliJ IDEA, posee potentes herramientas de diseños, muestra los errores al instante para la rápida solución, posee plantillas predeterminadas que facilitan la creación de dicha aplicación. Es fácil de usar y compatible en las diferentes versiones.

Cuando se va iniciar el proceso de creación de una aplicación normalmente este se divide en cuatro etapas, la primera de ellas se basa en la configuración del entorno, es donde se instala y se realiza la conexión de los elementos del entorno donde se trabajar´la aplicación. La segunda etapa es la configuración del proyecto y desarrollo, en ella se realiza la creación de módulos los cuales contienen lo necesario para la aplicación y también se crean los archivos del código fuente. La tercera, es la realización de pruebas, depuración y construcción de la aplicación donde se construye un paquete depurable que se pueda descargar y depurar en un emulador con Android. Finalmente la cuarta etapa siendo la publicación de la aplicación allí se solicita la distribución libre de la aplicación para los usuarios.

Para funcionar necesita conexión a internet que permite descargar las bibliotecas necesarias para la configuración de la aplicación, necesita más de 4GB de memoria ram y un core mayor a i5.


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

SQL

Continuando con las bases de datos, existe algo que se relaciona con ellas:

SQL (lenguaje de consulta estructurado), es un lenguaje universal existente en todos los motores de bases de datos, posibilita la realización de consultas teniendo como objetivo la recuperación de datos de forma sencilla y esto a su vez es posible gracias a la aplicación del álgebra y cálculo.
La creación de SQL facilitó y aceleró compartir datos.

Las consultas toman forma de un lenguaje permitiendo se expresadas como insertar, actualizar, averiguar la ubicación del dato, etc. Se pueden agregar y combinar lenguajes de programación. Desde los 70's SQL se ha utilizado en cualquier base de datos relacional en el mundo.  

¿QUÉ ES UNA BASE DE DATOS RELACIONAL?

Se trata como un conjunto de tablas con filas y columnas. Contiene objetos utilizados para almacenar y gestionar los datos, los objetos son funciones, tablas, índices, etc., dichos objetos están relacionados entre si.
Las tablas por ejemplo en sus columnas almacenan los tipos de datos y en las filas representan la recopilación de los valores de un objeto. Al relacionarse no pueden ser nombradas dos tablas de igual forma, ademas estas relaciones se generan a través de llaves primarias o foráneas.


Al realizar la combinación de lenguajes de programación en SQL obtenemos cosas como: 



UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS












BASE DE DATOS

En programación orientada a objetos como lo hemos podido notar hay mucho por hablar, la variedad la hace aun más interesante, hoy abordaremos lo que concierne a base de datos.

¿QUÉ ES UNA BASE DE DATOS?

Es un lugar en el ordenador o entidad que almacena datos o información de forma organizada, facilitando la utilización de datos necesarios, generalmente se relaciona con la red pues también debe permitirse compartir dichos datos. Los datos de una base de datos pueden ser actualizados y varios usuarios pueden ingresar a ella al mismo tiempo.
Se dice que una base de datos es local cuando es utilizada en un equipo por un usuario.

Una base de datos posee varias partes o componentes:

-TABLAS: Es donde se crea el conjunto de datos, es como una hoja de cálculo.
-CONSULTAS: Extraen y muestran la información obtenida.
-FORMULARIOS: Contienen comandos para ejecutar acciones, se utilizan para trabajar los datos obtenidos.
-INFORME: Presenta la información organizada para ser imprimida.
-MACRO: son conjuntos de instrucciones cuando hay procesos repetitivos.
-MÓDULO: Son instrucciones en un lenguaje "visual basic".

También las bases de datos poseen campos, registros y archivos, donde los campos son piezas únicas de información, los registros son un sistema de campos y los registros son una colección de registros.

En las bases de datos también encontramos algo llamado DBMS (data base management system) o SGBD (sistema de gestión de base de datos) encargado de controlar el almacenamiento, organización y recuperación de los datos pertenecientes a dicha base de datos.

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

domingo, 3 de septiembre de 2017

PÁGINA WEB

En cuanto a información se trata existen muchas fuentes para obtenerla, hoy en día la tecnología es un lugar más utilizado para ello, pero en específico las páginas web, las encontramos desde informativas hasta de recreación, pero:

¿Qué es una página web?

Es un lugar web el cual está programado en un lenguaje específico llamado HTML (Lenguaje de marcado de hipertexto), una página web posee una dirección o URL, podemos llegar a una página web mediante un navegador de internet, en una página web se encuentran imágenes, vídeos, texto, etc.

Existen tipos de páginas web, las estáticas y las dinámicas.

Las ESTÁTICAS las cuales no son para actualizaciones constantes, más bien su contenido es fijo. Las DINÁMICAS son realizadas o construidas en PHP o HTML, permiten ser modificadas constantemente, realizar foros, proyectan contenido en tiempo real, etc.

Principalmente una página debe contener texto, imágenes, vídeos, audios, etc.

Para crear páginas web encontramos sitios que nos brindarán dicha ayuda como Wix.

A continuación les adjuntaré un vídeo muy interesante, espero les guste y no olviden dejar sus comentarios.

https://www.youtube.com/watch?v=FkksFZI7LPw

UNIVERSIDAD FRANCISCO JOSÉ DE CALDAS

COHESIÓN

En programación la cohesión hace referencia a la agrupación de unidades de software en una unidad mayor, un ejemplo es cuando agrupamos clases en una librería, se dice que entre mas agrupados estén los elementos o mayor sea su cohesión es mejor y hay varios tipos de cohesión.

La COHESIÓN FUNCIONAL se da cuando agrupamos unidades las cuales en conjunto están encaminadas a realizar un mismo fin, es decir que contribuyen a realizar un objetivo.
Cuando se agrupan unidades las cuales utilizan los datos de salida de una unidad para seguir con el trabajo hasta llegar el objetivo se dice que hay una COHESIÓN SECUENCIAL.
Existe un tipo de cohesión donde se agrupan unidades de software en una categoría lógica, donde dichas unidades no necesariamente están relacionadas, llamada COHESIÓN LÓGICA.
La COHESIÓN TEMPORAL es algo más compleja pues se agrupan unidades de software que no tienen una relación entre ellas fuerte, sino que se ejecutan en un periodo de tiempo más o menos igual.

Cuando la cohesión no encaja en ninguno de los parámetros o descripciones anteriores se dice que es una COHESIÓN CASUAL.

El objetivo es lograr siempre la mayor cohesión posible y el menor acoplamiento, así se facilita el desarrollo y re utilización del software. Además tener una alta cohesión permite agrupar dichas unidades de la mejor manera y el bajo acoplamiento mantiene dichas unidades lo más independiente posible.

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS 

ACOPLAMIENTO

En esta ocasión hablaremos acerca de lo que se denomina acoplamiento en programación orientada a objetos.

El acoplamiento inicialmente se refiere a los niveles de dependencia que poseen dos unidades de software (las unidades de software son aquellas que realizan alguna acción, como funciones, componentes, aplicaciones, librerías, etc.).  Siguiendo con lo anterior el acoplamiento nos da una idea de como estas unidades de software pueden hacer su trabajo sin la otra y en que nivel.

Los niveles de acoplamiento dependen de la interacción de dichas unidades:

- Si las unidades son totalmente independientes lo que significa que el trabajo de una puede hacerse sin necesidad de la otra, se presenta el más BAJO NIVEL DE ACOPLAMIENTO y se dice que dichas unidades son desacopladas. Cuando se programa el objetivo es tener un acoplamiento lo mas bajo pasible, pues así se facilita la detección de errores, el mantenimiento y re utilización de dichas unidades.

- Se le llama ACOPLAMIENTO NORMAL cuando una unidad necesita del trabajo de otra, cuando una función, método, etc., llama a otro dentro del trabajo que realiza se dice que ese método, función, etc., está acoplado al otro.

-Cuando dos unidades necesitan utilizar el mismo conjunto local de datos para funcionar se dice que es un ACOPLAMIENTO DE DATOS y es común en los métodos de una clase al necesitar el acceso a las variables. 

-El ACOPLAMIENTO DE CONTROL es cuando en cierta forma un método, función, etc., controla la ejecución del otro y ocurre cuando se pasa algún parámetro al otro para que realice las operaciones o funciones de cierta manera.

- También hay ACOPLAMIENTOS NO DESEADOS los cuales deben evitarse, entre ellos se encuentra el acoplamiento global, ocurre cuando dichas unidades se pasan datos por medio de una estructura global. En otra instancia se encuentra el acoplamiento por contenido el cual ocurre cuando para programar una función debemos conocer los contenidos de la segunda en cuanto a los puntos de entrada y lo que va a retornar.

Finalmente podemos decir que se desacopla una unidad de software de otra cuando reducimos su nivel de acoplamiento.

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

sábado, 26 de agosto de 2017

Por último la abstracción.

ABSTRACCIÓN

La abstracción en programación orientada a objetos se relaciona con la herencia y el polimorfismo.
Cuando se habla de una clase abstracta, es en donde no se pueden crear elementos concretos. Como la abstracción es propia del mundo real y la programación orientada trata de modelizar la realidad,en programación la abstracción puede verse como un conjunto de clases que pueden programarse para que sus objetos puedan colaborar entre si para la solución de un problema.

Para que sea una clase abstracta deben definirse métodos abstractos donde no se puedan instanciar objetos.

 Por ejemplo al crear una clase llamada animal, se esta haciendo uso del término abstracto porque este término es genérico y no se puede definir una sola cosa de él, puesto que tenemos animales mamíferos, reptiles, etc., y aun allí existiría una abstracción ya que no se puede definir un solo animal que represente a todos los mamíferos o reptiles, ya que tenemos vacas, perros por parte de los mamíferos y en los reptiles como la serpiente y el cocodrilo.



                                                   


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

El segundo concepto de importancia en programación orientada a objetos es el polimorfismo.

POLIMORFISMO

Polimorfismo es de origen griego que significa "muchas formas". Está ligado con el concepto de herencia, puede adicionarse en las jerarquías de clasificación dadas en herencia. Si se haya una función con ciertos parámetros declarados en una clase, dicha función solo recibirá objetos de esa clase; el polimorfismo nos permitirá aceptar objetos de clases heredadas. Para un mismo método se pueden permitir distintos parámetros.

Los elementos u objetos poliformicos pueden contener valores de diferentes tipos mientras se ejecuta un programa.

El siguiente ejemplo nos muestra como se aplica el polimorfismo, al tener una función denominada CalculaArea(), presente tanto en la clase principal como en las clases heredadas, la diferencia allí, es que cada una recibe parámetros de diferentes tipos y en diferentes cantidades.


Anexo otro ejemplo para mayor comprensión, no olviden dejar sus inquietudes en los comentarios.

                                 https://www.youtube.com/watch?v=c1129dWEwLk


                      UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
En programación orientada objetos existen conceptos de gran importancia, en esta ocasión tomaremos 3 de ellos y los profundizaremos como es debido.

El primer concepto a tratar es el encapsulamiento.

ENCAPSULAMIENTO

Existe un mecanismo el cual consiste en la organización de datos pertenecientes a una estructura, lo cual garantiza que dichos datos contenidos en un objeto se mantenga de forma integra.
Define niveles de acceso para los elementos en una clase, permitiendo el acceso a datos a través de métodos particulares o clases heredadas.

Existen tres niveles de acceso, que son:

-Público: Este es el mas bajo nivel de protección, puesto que al ser publico cualquier función puede acceder a los datos de una clase.

-Protegido: Este acceso posee una restricción frente a las clases heredadas o subclases y sus funciones respectivas.

-Privado: Este es el mas alto nivel de protección, el acceso esta restringido a los métodos y datos de la clase.

El encapsulamiento también realiza la división de clases en dos partes, la primera de ellas es la interface que abarca una abstracción del comportamiento de las clases y la segunda que es la implementación comprende la abstracción y su representación y los medios que llevan a un comportamiento determinado.

A continuación les dejaré un ejemplo de encapsulamiento.



UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

domingo, 20 de agosto de 2017

Como en toda profesión u oficio, las personas que la ejercen deben tener todos sus archivos e implementos necesarios organizados de la mejor manera, en programación el orden a los diferentes proyectos se maneja en algo llamado Github, pero ¿Qué es Github? , bueno antes de definir Github, debemos ver lo siguiente:

¿Qué es Git?

Es el sistema de control de versiones de código abierto mas conocido y utilizado actualmente,  permitiendo la administración de los avances de un proyecto, los códigos nuevos, en general. Se impulsó el proyecto con el fin de crear un sistema de versionado de software que aportara lo mejor de los diferentes sistemas existentes. Dicho proyecto fue impulsado por Linux Torvalds y el equipo de desarrollo del Kernel de Linux.

Git universalizó el control de versiones del software aun manteniendo su sencillez, es multiplataforma, permitiendo crear repositorios locales en los sistemas operativos comunes como Windows, Linux, etc.

Git es también el motor e Github.

¿Qué es Github?

Es un sitio web que permite compartir códigos de manera mas fácil. Es un sitio usado por Git para brindarle a los desarrolladores repositorios de software, es de tipo comercial. gratuito para alojar proyectos siendo hoy en día un lugar que contiene millones de repositorios siendo modificados por sus usuarios.

Hoy en día Github no solo es un lugar utilizado para alojar proyectos y sus avances, puesto que ahora este sitio es como si fuese la hoja de vida de un programador, se ha convertido en una herramienta para aquellas personas que desean adquirir el trabajo de otras.



UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS



No podemos hablar de programación orientada a objetos si no hablamos un poco de Java.

JAVA

Es un lenguaje de programación orientado a objetos con similitudes a C, C++ y OBJETIVE C,desarrollado por la empresa Sun Microsystems a principios de los 90's, con el propósito de crear un lenguaje fácil de aprender y de entender.

El proyecto inicia en 1950 con Patrick Naughton ingeniero de Sun Microsystems y varios de sus colegas como James Gosling y Mike Sheridan, donde al inicio la propuesta era modificar el lenguaje C++, de tal forma que quedara C++ ++ -, siendo ++- la representación de la adición y eliminación de elementos pertenecientes a este, pero Gosling creyó inapropiado usar esto, así que diseño un lenguaje al que denominó OAK.

En 1991 OAK ya corría sus primeros programas, pero su nombre fue cambiado a JAVA, el origen de dicho nombre tiene dos hipótesis muy comunes, la primera es que dicho nombre fue dado gracias a un café que tomaban frecuentemente y la segunda es que se debe a las iniciales de cada integrante.

Luego el fenómeno mundial dado por el nacimiento de la WEB, se relacionó a la perfección con el proyecto diseñado que se procedió a construir un prototipo que se accionara con un browser.

En 1994 se culmina el desarrollo del prototipo HotJava el cual permite proporcionar multiplataformas de códigos bajados y corridos.

En enero del 95 se forma la empresa Java Soft, en mayo se anuncia la versión Alpha de Java, la cual seria incorporada a Netscape Navigator (el navegador mas usado en Internet). En julio se añade el soporte para Windows NT y en agosto para Windows 95.

Con el tiempo Java otorgó licencias a diferentes empresas para mejorar sus navegadores permitiendo les acceder al código fuente, pero fue el apoyo de Netscape Navigator a Java Applets en Netscape Navigator 2.0 lo que lanzó a la fama a este lenguaje encontrándose hoy en día en todas partes.



UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS








sábado, 19 de agosto de 2017

HERENCIA

En programación orientada a objetos existe algo denominado como herencia, este termino es comúnmente utilizado cuando se crea una o varias clases a partir de una clase existente, es una forma de especializar una clase principal sin necesidad de realizar todo nuevamente.
Es una forma de transmitir códigos entre clases, contiene los atributos y métodos de la clase principal con la ventaja de modificar los o generar unos nuevos.

En muchos lenguajes la herencia se declara con la palabra "extends", como por ejemplo:

Creamos una clase llamada Persona, dicha clase tendrá unos atributos como nombre de tipo string ( cadena de texto), edad de tipo int (entero) y unos métodos de tipo void ( que no retornan nada) como, respirar y caminar.

Ahora se creará una clase llamada mujer, pero dicha clase será creada a partir de la clase principal que denominamos Persona, esta clase tendrá los atributos que definimos anteriormente junto con sus métodos y queda de la siguiente manera:

Public class Mujer extends Persona {

}

Ahora si se desea agregar algún otro método o atributo se declara dentro de los corchetes, por ejemplo un atributo adicional podría ser colorCabello de tipo string. Quedaría de la siguiente manera:

Public class Mujer extends Persona {

string colorCabello;

}

Los nuevos atributos pertenecerán únicamente a la clase creada denominada es este caso como "Mujer".


UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

sábado, 12 de agosto de 2017



En este espacio quiero darles a conocer ciertos datos curiosos y algunas frases comunes o populares en los programadores.

-Existen 1150 lenguajes diferentes de programación y esto se debe a que como todo, cada uno de estos lenguajes esta diseñado con un enfoque o paradigma diferente, básicamente se ajusta a la necesidad que se posea y con respecto a eso se utiliza.


-El lenguaje de programación mas difícil se llama Malbolge pues para este lenguaje no existe un compilador oficial ni una lista correcta de instrucciones ya que estas cambian según el propósito y la posición que ocupe en la memoria de la maquina. su nombre se debe al Octavo Círculo del Infierno de la Divina Comedia de Dante.

-Me at the zoo fue el primer vídeo subido a YouTube.


-Existe un lenguaje basado en las obras de Shakespeare, este lenguaje posee nombres de los personajes los cuales corresponden a las variables y sus funciones poseen palabras claves, al igual que los bucles y condicionales.

Algunas de las frases más usadas de los programadores son:

-¡Un usuario inteligente nunca haría eso!

-Pues ayer funcionaba.

Adjunto un vídeo que espero observen, es algo muy curioso que encontré, disfrútenlo.

 https://www.youtube.com/watch?v=bfXRDQQy-fU

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS







                                        

Continuando con esta línea también debemos hablar acerca del medio por el cual realizaremos las aplicaciones de los conceptos que más adelante se conocerán. Existe una variedad de programas en los cuales se puede realizar dichas practicas, uno de ellos es NEAT BEANS.

Neat Beans es un programa el cual recoge lenguaje en gran parte de Java, es de acceso gratuito y muy util a la hora de programar.

Ahora bien, coninuando con el ejemplo anterior acerca de la impresora, en Neat Beans sería de la siguiente manera:

1. Se procede a crear un nuevo proyecto el cual pondremos por nombre"Impresora", este sería el nombre de la clase ( Los nombres de las clases deben empezar con mayúscula, deben estar en singular), el nombre del objeto es el mismo al de la clase y es determinado automáticamente por Neat Beans en minúsculas.

2. Luego en la sección "Public class impresora", se procede a ingresarse las diferentes características y su tipo, por ejemplo el color será el nombre de dicha característica y su tipo será "string" (cadena de caracteres). Se realizará hasta ingresar el total de dichas características y su tipo ( también pueden ser de tipo numérico).

3. Por último las acciones que realiza dicho objeto se describirán en el mismo lugar del numeral anterior y como no debe retornar a nada será una función de tipo Void, entonces como escanear es una de sus funciones se expresaría de la siguiente manera:

Void escanear () { System.out.println (" Escaner completo") }

El "System.out.println (" ") " se utiliza para imprimir o mostrar en pantalla el mensaje o resultado, para aumentar la dificultad podemos hacer que dicho mensaje se repita en varias ocasiones o en situaciones específicas, dicho proceso se realiza con un for, while o if (si el caso es para agregar condiciones específicas).

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

viernes, 11 de agosto de 2017

Como nuestro centro en este blog es la programación orientada a objetos (POO), tenemos los siguiente:

La programación orientada a objetos está diseñada para que se piensen la cosas de una manera distinta, como por ejemplo cosas de la vida cotidiana y lo podemos observar de la siguiente manera:
Por ejemplo pensemos en una impresora la cual podemos moldear en un esquema de la POO, una impresora posee unas características como su tamaño, color y marca, pero también posee unas funciones como imprimir, escanear y fotocopear.
En POO esto se traduciría a que la impresora es el objeto, las características son los atributos de dicho objeto y las funciones son el método; pero, ¿Qué es objeto, atritubo y método?

El objeto pertenece a un conjunto llamado clase, este objeto permite separar los diferentes componentes de un programa y posee un comportamiento.
El atributo son las características del objeto y cuando se definen se especifica su nombre y tipo.
El método, son las funciones asociadas con el objeto, su comportamiento.

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS





domingo, 6 de agosto de 2017

Así como ya se conoce un poco de historia acerca de los lenguajes de programación, existen tipos de lenguajes que debemos conocer para tener una visión mas amplia para llegar al tema principal como lo es la programación orientada a objetos:

Se inicia con los LENGUAJES IMPERATIVOS,  este tipo de lenguaje al ser diseñado presenta dificultad para el hombre, pero se le facilita el entendimiento a la maquina lo que mejora su rendimiento. Este tipo de lenguaje consiste en una secuencia de memoria en la cual se permiten almacenar instrucciones o datos y cuenta con un procesador capaz de resolver operaciones principalmente matemáticas.

También hay LENGUAJES FUNCIONALES, los cuales se crearon a partir del uso de la computadora como la solución de problemas, estos poseen conceptos entendibles y es con ellos donde se da la posibilidad de tener funciones recursivas (re-utilizables), ademas que permiten la creación de funciones mas complejas a partir de las básicas.

Por otra parte los LENGUAJES LÓGICOS, son aquellos que implementan el razonamiento lógico de primer orden así como la lógica matemática, es un lenguaje que para solucionar un problema debe describirse usando reglas de deducción, ademas que el programador debe tener una buena descripción del problema para dar solución a este.

Y los LENGUAJES ORIENTADOS A OBJETOS los cuales poseen simulaciones del mundo real, traducen abstracciones del objeto a lenguaje de programación, nacen en los años 60 junto con el concepto de objeto, contienen herencias de clases por la re utilización de códigos. El polimorfismo también hace parte de el y en los años 80 surge Smaltalk, C++, entre otros finalizando con Java.

Estos son algunos de los tipos de lenguajes existentes, aunque nos centraremos en el lenguaje de programación orientado a objetos siendo este el que posee una estructura más organizada.


UNIVERSIDAD FRANCISCO JOSÉ DE CALDAS
Continuando con los lenguajes de programación y su historia, se sabe que:

- El primer programa creado fue en 1842 por Ada Lovelace quien utilizando dos bucles demostró la capacidad de bifuración de la máquina de Babbage.

- En enero de 1950 se crea el lenguaje ensamblador, el cual consiste en un lenguaje de bajo nivel basado en la representación del código binario.

- En 1957 se crea el lenguaje FORTAN, utilizado principalmente para el calculo numérico, fue diseñado por IBM.

- En 1958 se crea el segundo lenguaje mas viejo de alto nivel llamado LISP por John McCarthy y algunos colaboradores del instituto donde se encontraba.

-Se crea el lenguaje COBOC en 1960 el cual se diseñó con el fin de ser utilizado en cualquier ordenador.

- En 1964 fue diseñado por John George Kemeny y Thomas Eugene Kurtz un lenguaje de programación de alto nivel denominado como programación en BASIC.

- En 1970 surge el PASCAL teniendo como fin facilitar el aprendizaje de la programación, este utilizaba programación estructurada y estructuración de datos, permitiendo tiempo después ser usado para herramientas de todo tipo. Diseñado por Niklaus Wirth.

- Se crea el lenguaje C en 1972, por Dennis M. Ritchie, el cual es un lenguaje débilmente tipificado de medio nivel pero el cual incluye una gran cantidad de características de bajo nivel.

- La creación de C++ en 1983 por Stroustrup realiza una expansión del lenguaje C el cual permite una manipulación de objetos.

Y con esto finaliza la parte histórica que posee la programación, a grandes rasgos importantes, adjunto dejo un vídeo el cual se relaciona con esto ilustrando mejor la información dada, espero lo disfruten.

https://www.youtube.com/watch?v=Q6kAb4lrAQs

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

Todo posee un comienzo y una evolución, en este caso para conocer la programación orientada a objetos, debemos hablar un poco de historia.

Se sabe que la computadora fue inventada con el fin de facilitar el trabajo intelectual:

Inicia con JH MÜLLER quien en 1786 inició con el proyecto de la creación de una maquina, pero nunca fue terminado, siendo olvidado y retomado por Charles Babbage en 1822 conocido como el "Padre del PC" este hombre diseñó una maquina la cual utilizaba números decimales y una manija de arranque, pero quien realmente realizó el primer prototipo de una computadora centrada en cálculos matemáticos mediante maquinas análogas fue Jhon Vincent Atanassoff.

Partiendo de allí fueron creados diferentes lenguajes para que el hombre y la maquina pudieran comunicarse, estos lenguajes deben ser concisos, expresivos y efectivos, ademas estos lenguajes se consideran como una representación del conocimiento por la comunicación mencionada y dicha representación debe ser fácil de entender, simple de acceder y debe expresar el conocimiento deseado.

Dichos lenguajes también tuvieron un comienzo y evolución, la cual conocerán muy pronto, por el momento adjunto una imagen la cual posee el diseño de las computadoras a través del tiempo, sin duda alguna es un cambio notable en nuestras vidas el que esta maquina genera.

                UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
Hola.
Bienvenidos a mi blog, un blog donde encontraran contenido informativo acerca de la programación orientada objetos y otros datos relacionados con ella, espero este blog sea de su agrado, cualquier inquietud dejarla en los comentarios, gracias.