<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.entornos-desarrollo.codeandcoke.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.entornos-desarrollo.codeandcoke.com/feed.php">
        <title>Entornos de desarrollo - apuntes</title>
        <description>1º DAM/DAW - Curso 2025-2026</description>
        <link>https://www.entornos-desarrollo.codeandcoke.com/</link>
        <image rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/_media/wiki:logo.png" />
       <dc:date>2026-04-05T16:27:44+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:backend_frontend?rev=1742808842&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:calidad?rev=1615153247&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:cicd?rev=1742862792&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:despliegue?rev=1742860300&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:entorno?rev=1728758473&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:git?rev=1614870693&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:ide?rev=1595196051&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:jenkins-nodejs?rev=1728942215&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:jenkins?rev=1728820468&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:junit?rev=1613918719&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:maven?rev=1613853444&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:monitorizacion?rev=1742862637&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:proyectos?rev=1613379477&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:sonarqube-nodejs?rev=1728942191&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:testing?rev=1743364518&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.entornos-desarrollo.codeandcoke.com/apuntes:uml?rev=1615193135&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.entornos-desarrollo.codeandcoke.com/_media/wiki:logo.png">
        <title>Entornos de desarrollo</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/</link>
        <url>https://www.entornos-desarrollo.codeandcoke.com/_media/wiki:logo.png</url>
    </image>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:backend_frontend?rev=1742808842&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-24T09:34:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>backend_frontend</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:backend_frontend?rev=1742808842&amp;do=diff</link>
        <description>Desarrollo de aplicaciones: backend + frontend
&lt;https://ecdisis.com/que-es-frontend-y-backend/&gt;
Configuración del proyecto

Crear un fichero package.json:


{
  &quot;name&quot;: &quot;cities-backend&quot;,
  &quot;version&quot;: &quot;0.1&quot;,
  &quot;description&quot;: &quot;A sample project to learn Node.js&quot;,
  &quot;scripts&quot;: {
    &quot;start&quot;: &quot;node src/app.js&quot;
  },
  &quot;author&quot;: &quot;Santiago Faci&quot;,
  &quot;license&quot;: &quot;GPL-2.0-only&quot;,
  
  &quot;dependencies&quot;: {
    &quot;express&quot;: &quot;^4.21.1&quot;
  }
}</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:calidad?rev=1615153247&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-07T21:40:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>calidad</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:calidad?rev=1615153247&amp;do=diff</link>
        <description>Calidad, pruebas y rendimiento

Calidad del código

SonarQube

Máquina virtual con SonarQube

Para comenzar a trabajar con SonarQube primero debemos contar con la herramienta instalada. Es una aplicación web que debe ser instalada en alguna máquina dentro de la red de forma que todos los desarrolladores tengan acceso a ella.</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:cicd?rev=1742862792&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-25T00:33:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cicd</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:cicd?rev=1742862792&amp;do=diff</link>
        <description>Integración y despliegue continuo de una aplicación

Testing

Workflow: Node.js


name: Unit and integration tests

on:
  push:
    branches: [ &quot;main&quot; ]
  pull_request:
    branches: [ &quot;main&quot; ]

jobs:
  build:

    runs-on: ubuntu-20.04

    strategy:
      matrix:
        node-version: [18.x, 20.x, 22.x]

    steps:
    - uses: actions/checkout@v4
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v4
      with:
        node-version: ${{ matrix.node-version }}
   …</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:despliegue?rev=1742860300&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-24T23:51:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>despliegue</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:despliegue?rev=1742860300&amp;do=diff</link>
        <description>Despliegue de aplicaciones

Iniciar una instancia EC2 en AWS

	*  Accedemos a la AWS Management Console

	*  Accedemos al servicio EC2

	*  Accedemos a la opción Instances

	*  Desde alli pulsamos en Launch Instance para lanzar una nueva instancia de EC2</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:entorno?rev=1728758473&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-12T18:41:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>entorno</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:entorno?rev=1728758473&amp;do=diff</link>
        <description>Preparación del entorno

Instalación de Visual Studio Code

&lt;https://code.visualstudio.com/&gt;

Instalación de Node.js

&lt;https://nodejs.org/en&gt;

Instalar Express


npm install express


Ejecutar una aplicación Node.js + Express de ejemplo




----------

(c) 2024 Santiago Faci</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:git?rev=1614870693&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-04T15:11:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:git?rev=1614870693&amp;do=diff</link>
        <description>Git: Sistema de control de versiones



Git y GitHub

Instalación de git

Lo primero que necesitaremos será instalar git en nuestro equipo. Podéis encontrarlo en su página web y, siguiendo las instrucciones del siguiente video, podéis instalarlo sin mayor problema en Windows.</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:ide?rev=1595196051&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-19T22:00:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ide</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:ide?rev=1595196051&amp;do=diff</link>
        <description>Componentes y funciones de un IDE

Refactorización

Depuración

Gestión de librerías del proyecto

----------

(c) 2020 Santiago Faci</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:jenkins-nodejs?rev=1728942215&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-14T21:43:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jenkins-nodejs</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:jenkins-nodejs?rev=1728942215&amp;do=diff</link>
        <description>Integración continua con Node.js. Jenkins

¿Qué es la integración continua?

Integración continua es una buena práctica en el desarrollo de software por la que se realizan integraciones automáticas en un proyecto lo más a menudo posible (gracias a que son automáticas) para tratar de encontrar errores y problemas lo antes posible.</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:jenkins?rev=1728820468&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-13T11:54:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jenkins</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:jenkins?rev=1728820468&amp;do=diff</link>
        <description>Integración continua con Java. Jenkins

¿Qué es la integración continua?

Integración continua es una buena práctica en el desarrollo de software por la que se realizan integraciones automáticas en un proyecto lo más a menudo posible (gracias a que son automáticas) para tratar de encontrar errores y problemas lo antes posible.</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:junit?rev=1613918719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-21T14:45:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>junit</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:junit?rev=1613918719&amp;do=diff</link>
        <description>JUnit: Pruebas de código



¿Qué es JUnit?

JUnit son un conjunto de librerías para la realización de pruebas unitarias en proyectos Java. Existe también la opción de incluirlas como parte del ciclo de desarrollo con Maven, de forma que se ejecutan automáticamente.</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:maven?rev=1613853444&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-20T20:37:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>maven</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:maven?rev=1613853444&amp;do=diff</link>
        <description>Gestión de proyectos con Maven



¿Qué es Maven?

Maven es una herramienta para la gestión y construcción de proyectos Java.

Permite automatizar todas las fases de desarrollo y construcción de un proyecto, como pueden ser la compilación, ejecución de test unitarios, empaquetado y despliegue.</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:monitorizacion?rev=1742862637&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-25T00:30:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>monitorizacion</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:monitorizacion?rev=1742862637&amp;do=diff</link>
        <description>Monitorización de aplicaciones
&lt;https://grafana.com/blog/2023/10/10/how-to-embed-grafana-dashboards-into-web-applications/&gt;
Instalar Grafana y Prometheus

Lanzaremos Grafana y Prometheus como contenedores docker, configurados en una red para que puedan verse el uno al otro. Al mismo tiempo publicaremos los puertos sobre la máquina local para poder acceder a sus interfaces web:</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:proyectos?rev=1613379477&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-15T08:57:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>proyectos</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:proyectos?rev=1613379477&amp;do=diff</link>
        <description>Ciclo de vida de un proyecto de desarrollo

Fases en el desarrollo de un proyecto

Análisis

En esta fase se llevan a cabo las siguientes tareas:

	*  Planificación
	*  Análisis de requisitos (tras reuniones con el cliente/usuarios)
	*  Descripción de las funcionalidades del proyecto</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:sonarqube-nodejs?rev=1728942191&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-14T21:43:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sonarqube-nodejs</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:sonarqube-nodejs?rev=1728942191&amp;do=diff</link>
        <description>Instalar y configurar Sonarqube

Poner en marcha SonarQube usando Docker

Usando Sonarqube

Para ver los resultados, solamente tendrmeos que acceder a SonarQube introduciendo la IP de la máquina en el navegador (por ejemplo, &lt;http://192.168.8.109&gt;) y veremos, en la vista general, el proyecto para el que acabamos de lanzar el análisis. Si ya lo hubieramos lanzado antes, lo veríamos actualizado.</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:testing?rev=1743364518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-30T19:55:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>testing</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:testing?rev=1743364518&amp;do=diff</link>
        <description>Testing
&lt;https://katalon.com/resources-center/blog/unit-testing&gt;
Test unitarios

Clases de utilidad


const expect = require(&#039;chai&#039;).expect;
const { getDaysFromNow, getDays} = require(&#039;../../dateUtils&#039;);

beforeAll(() =&gt; {
    jest.useFakeTimers();
    jest.setSystemTime(new Date(&#039;2025-02-13&#039;));
});

afterAll(() =&gt; {
    jest.useRealTimers();
});

describe(&#039;dateUtils&#039;, () =&gt; {
    // TODO Añadir casos de prueba para la función getYearsFromNow
    
    it(&#039;getDaysFromNow&#039;, () =&gt; {
        let day…</description>
    </item>
    <item rdf:about="https://www.entornos-desarrollo.codeandcoke.com/apuntes:uml?rev=1615193135&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-08T08:45:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>uml</title>
        <link>https://www.entornos-desarrollo.codeandcoke.com/apuntes:uml?rev=1615193135&amp;do=diff</link>
        <description>Diseño de aplicaciones con UML



¿Qué es UML

UML (Lenguaje unificado de modelado) es un lenguaje que permite representar el diseño y estructura de un Proyecto de Software bajo el paradigma de orientación a objetos.

Define los elementos y reglas para diseñar diferentes tipos de diagramas en función del aspecto del proyecto que se quiere representar o modelar:</description>
    </item>
</rdf:RDF>
