NubeAndo.COM

Somos Especialistas en: Soluciones Informáticas

NubeAndo.COM

Es el resultado de la integración entre la experiencia adquirida en la capacitación de recursos humanos + el conocimiento aplicado de los expertos en la materia + el uso racional de las nuevas tecnologías e Internet. Todo ello, dentro de un escenario de armonía, fácil de usar y amigable.

  • Comercial el Rey, Local B56.
  • +591-326-4587
  • +591-710-21440
  • angel@nubeando.com
  • www.nubeando.com
Me

Tecnologías Utilizadas

El respaldo de un equipo de especialistas, con probada experiencia en el uso de tecnologías siempre innovando con lo último en framework, cms y lenguajes de programación.

Marketing Digital 90%
Sistemas Web 70%
Aplicaciones Movíles 95%
CMS Portales Web 60%

Soporte Técnico

Mantenimiento preventivo y correctivo de computadoras, asi como recuperación de información de discos duros dañados.

Marketing Digital

Posiciona tu negocio en las redes sociales, utilizamos tecnologías como mail marketig y publicidad en redes sociales, posicionamos tu negocio.

Portales Web Responsive Design

Implementamos la web de tu negocio, lo posicionamos y lo adaptamos a tu requerimiento.

Capacitación Superior

Con experiencia en talleres, seminario y docencia universitaria, dale valor a tú currículum y aprende con nosotros.

Diseño Gráfico

Maquetamos tu logo y hacemos otros trabajos para publicidad a traves de imagenes.

Desarrollo de Software

Dale valor a tu emprendimiento y administra el mismo con un sistema a medida o alguna utilidad para facilitar tu trabajo.

25
Proyectos Completados
15
Clientes Marketing Digital
8
Años de Experiencia
32
Capacitaciones Dictadas
  • Plan de estudio - Programación 2



    CARRERA : INGENIERÍA DE SISTEMAS 
    SEMESTRE : SEXTO 
    ASIGNATURA : ANÁLISIS Y DISEÑO DE SISTEMAS I 
    SIGLA O CÓDIGO : INS216
    PRE-REQUISITO : INS215
    CARGA HORARIA : HT = 52; HP = 36 , TOT = 88 
    CRÉDITOS : 9 
    DOCENTE : Ing. Angel Céspedes Quiroz
    UNIVERSIDAD : Universidad Nacional del Oriente

    I. COMPETENCIAS 

    ALCANCE 

    Aprender los fundamentos e identificar y programar los distintos tipos de relaciones de la programación orientada a objetos, así también programar interfaces gráficas.

    a) Genérico o básica 

    Adquiere los conocimientos necesarios de programación orientada a objetos y programación visual. 

    b) Disciplinaria 

    Reconoce los diagramas de UML que se utilizan para en el análisis de la arquitectura, casos de uso y clases. Valora la importancia de elaborar el análisis del sistema para facilitar el trabajo en el diseño y la programación. 

    Al término del curso, el estudiante será capaz de: 

    a. Manejar correctamente la programación orientado a objetos, interpretando modelos y programando los mismos. 

    b. Aprender a programar interfaces graficas. 

    II. PRIORIZACIÓN DE HABILIDADES INTELECTUALES DE ORDEN SUPERIOR 

    a. Pensamiento analítico, crítico y reflexivo. 

    III. CONTENIDO MÍNIMO 

    • Fundamentos de programación. Programación Orienta a Objetos. Programación Visual en C#.

    IV. UNIDADES PROGRAMÁTICAS 

    1. FUNDAMENTOS DE LENGUAJES DE PROGRAMACION
    • Lenguajes de Maquina.
    • Lenguajes Ensambladores.
    • Lenguajes De Alto Nivel.
    • Lenguajes Compilados. 
    • Lenguajes Interpretados. 
    • Lenguajes Declarativos. 
    • Lenguajes Imperativos. 
    • Lenguajes Orientado a Objetos.
    2. PROGRAMACIÓN ORIENTADA A OBJETOS 

    Ø  Conceptos generales de programación orientada a objetos.
    Ø  Asociacion
    Ø  Herencia.
    Ø  Agregación.
    Ø  Composición
    Ø  Programación de las relaciones en C#.

    3. PROGRAMACION VISUAL EN C#

    Ø  Programación básica en lenguajes visuales.
    Ø  Programación avanzada en lenguajes visuales.

    V. EVALUACIÓN A LOS ESTUDIANTES 

    a. Trabajos Prácticos 20 Puntos
    b. Primer Parcial 20 Puntos
    c. Segundo Parcial 20 Puntos
    d. Examen Final 40 Puntos

    TOTAL, CALIFICACIÓN 100 Puntos

    VI. METODOLOGÍA

    a. Clases magistrales.
    b. Resolución de casos prácticos.

    VII. BIBLIOGRAFÍA 

    1.    Arbib-Alagic, The Design of Well Structured and Correct Programs, Springer Verlag
    2.    Joyanes Aguilar, Fundamentos de la Programación, Editorial McGraw Hill
    3.    Joyanes Aguilar, Programación Orientada a Objetos, Editorial McGraw Hill
    4.    Cevallos J., Microsoft Visual C++, Programación Avanzada, Ra-ma
    5.    0Knuth, D., Fundamental Algorithms, Addison Wesley
    6.    Harel D., Algorithmics: The Spirit of Computing, Addison Wesley
    7.    Blaider E., Programación en Java, Editorial Megabyte
    8.    Lemay L, Aprendiendo HTML para Web, Simon & Schuster

    VII. HERRAMIENTAS


  • Conceptos básicos de VueJS



    Vue.js es un framework de JavaScript nuevo, si lo comparamos con otros frameworks como Backbone o Ember.

    Sin embargo, su facilidad de aprendizaje y uso con respecto a otros frameworks y libraries como ReactJS, su rendimiento comparado con AngularJS y la facilidad para usarlo y adaptarlo a proyectos tanto grandes como pequeños, ha hecho que Vue gane cada vez más popularidad.

    Objetos especiales

    vm: el objeto que representa la instancia de Vue.
    key: propiedad que identificará como único a un elemento para ser reutilizado por Vue
    $data: variable que contiene el modelo de la instancia Vue en el objeto vm.
    $event: variable que representa el evento cuando se ejecuta en la instancia Vue en el objeto vm.
    $store: variable que representa el estado de la aplicación cuando se usa Vuex en Vue.
    $route: variable que representa el objeto de rutas de la aplicación cuando se usa Vue Router en Vue.
    template: etiqueta HTML que mantiene el contenido del lado del cliente que no se renderiza cuando se carga una página, pero que posteriormente puede ser instanciado durante el tiempo de ejecución empleando JavaScript.

    Directivas

    Atributos especiales que nos permiten realizar cambios reactivos en el DOM.

    v-model: enlaza los datos a través de la propiedad data .
    v-bind: añadir o remover atributos ( atajo : ).
    v-show: permite mostrar u ocultar contenido del DOM sin eliminarlo del mismo, no funciona con la etiqueta template.
    v-if, v-else-if, v-else: condicionales.
    v-for: ciclos, se puede usar el operador in u of indistintamente.
    v-on: manejar eventos ( atajo @ ).
    v-once: evita la reactividad en un elemento, lo vuelve estático.
    v-text: muestra contenido textual dentro de un elemento, NO acepta código HTML.
    v-html: muestra contenido textual dentro de un elemento, SÍ acepta código HTML.
    v-pre: ignora las expresiones Vue del elemento, evitando la compilación reactiva del mismo.
    Interpolaciones

    • Enlazan de datos entre Vue.js y el DOM. Se requiere el uso de las dobles llaves

    {{ propiedad }}


    • Podemos hacer operaciones aritméticas

    {{ 19 + 7 }}


    • Podemos concatenar

    Hola, {{ propiedad + ':)' }}


    • Podemos hacer expresiones de una sola línea

    {{ propiedad ? true : false }}


  • Desarrollador web: Front-end, back-end ¿Quién es quién?

    Un desarrollador web no es una sola cosa, sino que abarca múltiples conjuntos de habilidades que se traducen en diferentes especialidades. Los tres términos más comunes que se utilizan para nombrar dichas especialidades de forma genérica son: front-end, back-end y full stack. En este artículo trataremos de definir cada una de ellas y ver sus diferencias.

    Desarrollador Front-end:


    Trabaja del lado Cliente, en el navegador, en el lado de lo que se ve. Principalmente se ocupa de los componentes externos del sitio web o de la aplicación web. Como consecuencia, deben dominar obligatoriamente:

    HTML: HyperText Markup Language, es el componente estructural clave de todas las webs de internet. Sin él las páginas web no pueden existir.

    CSS: Cascading Style Sheets, es lo que le proporciona estilo a HTML.

    JavaScript: Usando solo HTML y CSS tus webs serían páginas estáticas, con JS tus páginas web son interactivas.

    Desarrollador Back-end:


    El desarrollador back-end trabaja del lado Servidor, detrás del escenario, permitiendo con su trabajo que el usuario disfrute de su experiencia.

    Sin él, el desarrollo llevado a cabo por su anterior compañero no se sostendría.

    Para ser programador del lado Servidor, son numerosos los lenguajes y frameworks entre los que elegir, todo dependerá de la empresa en la que caigas.

    A día de hoy, los más comunes son:

    ASP.NET: es la plataforma de desarrollo web de Microsoft. Muy utilizada en las empresas. Tiene las variantes Web Forms y MVC, y ahora también ASP.NET Core MVC.
    PHP: por ejemplo, el famoso gestor de contenidos WordPress usa por detrás PHP. Laravel es uno de los frameworks usados con este lenguaje.
    Ruby: junto con su framework Ruby on rails.
    Python: fácil de aprender. Usado a menudo con Django como framework
    Node.js: se está haciendo cada vez más popular debido a que usa el mismo lenguaje que en el lado cliente: JavaScript.
    Java: el lenguaje clásico y uno de los más demandados.

    Sin embargo, no es suficiente con dominar un lenguaje y un framework. Toda aplicación web debe almacenar datos de alguna manera. Por lo tanto, un desarrollador back-end también debe estar familiarizado con las bases de datos. Entre las más comunes destacan:
    • SQL Server
    • MySQL
    • Oracle
    • PostgreSQL
    • MongoDB, que es un almacén de datos no-relacional o NoSQL.
    Al igual que hemos comentado antes el entorno en el que trabajes te obligará a especializarte en una u otra.

  • Solución sobre desarrollo MonoDevelop usando GTK# en Windows 64 bits



    Para poder correr un programa escrito en C#, que use GTK#, en Windows, primero es necesario instalar GTK# for .NET

    Por lo que el instalador de un programa que usa GTK# debería checar la versión de GTK# ya instalada, si hay una, y si es oportuno ejecutar la instalación de GTK# antes de instalar la aplicación que depende de ella.

    El problema aparece cuando estamos usando GTK# 32 bits en un Windows de 64 bits. Si la solución la creamos en MonoDevelop corriendo en Windows no habrá mayores complicaciones.

    Podemos compilar sin problemas en Windows 64 bits. Pero yo me he topado casos en los cuales después de compilar desde MonoDevelop corriendo en Linux 64 bits, el assembly resultado de la compilación no corre en Windows 64 bits (no hay problema si el sistema es de 32 bits).

    Aún si en las propiedades del proyecto figura como 32 bits. Mientras que al revés sí funciona, compilar en Windows y luego correr en Linux usando Mono.

    Al intentar recompilar el programa usando MonoDevelop en Windows resulta que ahora no encontraba ninguna de las referencias. Desde GTK#, glade, etc. Nada, como si ninguna estuviera instalada. Noten que GTK# sí estaba instalada en el sistema.

    Según las listas de correo del proyecto Mono se debe forzar la arquitectura como de 32 bits. Pero en mi caso, en las propiedades del proyecto ya figuraba como 32 bits.

    La primera vez que tuve este problema lo solucioné yendo a las propiedades del proyecto y volviendo a seleccionar x86 en todas las páginas en las que aparece un Combo Box que permita seleccionar la arquitectura. Luego, al recompilar, se podía correr el programa de nuevo en Windows con total normalidad.

    Pensé que con esto bastaba pero cuando volví a editar el proyecto desde Linux, y recompilé, al querer correrlo en Windows ocurrió lo mismo que la primera vez. E igual que la primera vez las versiones de Windows de 32 bit no se vieron afectadas, pero era imposible correr el programa en Windows de 64 bit. Intenté solucionarlo igual que lo había hecho la primera vez pero no funcionó.

    Lo que sí me funcionó esta segunda vez fue borrar el ejecutable del programa y el archivo pdb que queda en el mismo directorio después de compilar. Luego abrí el archivo de solución (sln) con MonoDevelop y recompilé y ahora sí todo fue como se esperaba.

    No aparecieron errores relacionados con referencias faltantes a GTK#.
    Quisiera poder dar más información sobre esto pero por ahora me es imposible. Simplemente diré que este problema se presenta cada vez que edito el proyecto desde Linux y lo compilo. El resultado de esa compilación corre bien tanto en Linux 32/64 bit como en Windows de 32 bit. Pero para poder correr el programa en Windows 64 bit debo hacer lo que indico más arriba y recompilar, de lo contrario obtengo un montón de errores de referencias a GTK# que no se pueden satisfacer.

    Los archivos pdb sólo se generan si compilamos con el objetivo debug del proyecto. O pasando /debug al compilador.


  • UML: Diagrama de Componentes y de Despliegue


    Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado. Un diagrama de componentes representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes.

    El Diagrama de Despliegue es un tipo de diagrama del Lenguaje Unificado de Modelado que se utiliza para modelar la disposición física de los artefactos software en nodos (usualmente plataforma de hardware

    Adjunto la presentación:

  • UML: Diagrama de Colaboración

    Introducción.

    Los diagramas de colaboración son otro tipo de diagramas de interacción, que contiene la misma información que los diagramas de secuencia, sólo que se centran en las responsabilidades de cada objeto, en lugar del tiempo en que los mensajes son enviados. Un Diagrama de Colaboración describe en forma de un grafo el comportamiento de sistemas, subsistemas y operaciones, representando los objetos que intervienen, así como los mensajes que intercambian, enumerados en el tiempo.

    Definición.

    El diagrama de colaboración es un tipo de diagrama de interacción cuyo objetivo es describir el comportamiento dinámico del sistema de información mostrando cómo interactúan los objetos entre sí.

    Propósitos.
    • Manejar la comunicación entre los elementos del sistema. 
    • Mostrar cómo será implementada una operación. 
    • Indicar cómo deben colaborar los objetos del sistema para llevar a cabo una operación. 
    Características.
    • Muestra cómo las instancias específicas de las clases trabajan juntas para conseguir un objetivo común. 
    • Implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro. Dicha implementación es llamada "enlace". 
    Ventajas.

    1.   Permite elegir el orden en que pueden hacerse las cosas. 
    2.   Puede describir procesos o casos de uso. 
    3.   Muestra los aspectos dinámicos de un sistema. 
    4.   Establece las reglas de secuencia a seguir. 
    5.   Ayuda a un programador a desarrollar código a través de una descripción lógica de un proceso. 

    Desventajas

    La gran desventaja de los diagramas de colaboración es que no indican de forma explícita que los objetos ejecutan qué actividades ni tampoco la forma en que el servicio de mensajería trabaja entre ellos. Para mostrar tales interacciones de forma clara son necesarios los diagramas de interacción, los cuales son más utilizados en la práctica.

    Elementos.

    Objetos o Roles: nodos del grafo.
    Enlaces o comunicaciones: arcos del grafo.
    Mensajes: llevan número de secuencia y flecha dirigida.
    Anidamiento: se utiliza la numeración decimal
    Iteración: colocar un * antes del número de secuencia y una cláusula de condición, si es necesario.
    Bifurcación: los caminos alternativos tendrán el mismo número de secuencia, seguido del número de subsecuencia, y se deben distinguir por una condición.

    Ejercicio Práctico:

    Caso de Uso: Generar pedido

    conoce los diagramas de UML que se utilizan para en el análisis de la arquitectura, casos de uso y clases. 




  • ACCEDE A CODIGO FUENTE GRATIS

    Compartiendo código a través de una plataforma gratuita, compartiendo proyectos y codigo siempre con el lema de Educar es Compartir.

    DIRECCIÓN

    Comercial el Rey, Local B56

    CORREO

    angel@nubeando.com
    soporte@nubeando.com

    TELEFONO

    +591 326 4587

    MOVILES

    +591 710 21440