¿Cómo configurar un Virtual Host en Apache?

El servidor web de Apache es muy usado para aplicaciones web. En linux para configurar un virtual host seguimos los siguientes pasos:

Pre-requisito

Tener instalado apache2
sudo apt-get install apache2

Crear el directorio

Se usará como ejemplo miWeb1 y miWeb2
sudo mkdir -p /var/www/miWeb1/public_html
sudo mkdir -p /var/www/miWeb2/public_html

Crear una página de prueba

Sea la página index.html, /var/www/miWeb1/public_html/index.html
<html>
  <head>
    <title>Mi web</title>
  </head>
  <body>
    <h1>Mi web 1</h1>
  </body>
</html>
y para la página 2 index.html, /var/www/miWeb2/public_html/index.html
<html>
  <head>
    <title>Mi web</title>
  </head>
  <body>
    <h1>Mi web 2</h1>
  </body>
</html>

Crear los archivos de configuración

Para esto copiamos de /etc/apache2/sites-available/000-default.conf
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/miWeb1.conf

El archivo final debe ser:
<VirtualHost *:80>
    ServerAdmin admin@miWeb1.com
    ServerName miWeb1.com
    ServerAlias www.miWeb1.com
    DocumentRoot /var/www/miWeb1.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

y de igual forma para miWeb2
<VirtualHost *:80>
    ServerAdmin admin@miWeb2.com
    ServerName miWeb2.com
    ServerAlias www.miWeb2.com
    DocumentRoot /var/www/miWeb2.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Habilitar los sitios

Se usa el comando a2ensite
sudo a2ensite miWeb1.conf
sudo a2ensite miWeb2.conf
Opcionalmente podemos des habilitar el sitio por defecto
sudo a2dissite 000-default.conf
Ahora reiniciamos el servidor apache
sudo /etc/init.d/apache2 restart

Configurar el host local

En caso de no tener un dominio, podemos modificar localmente el archivo /etc/hosts, quedando
127.0.0.1  localhost
127.0.1.1  miPc

# agregamos
127.0.0.1  miWeb1.com
127.0.0.1  miWeb2.com
Listo, ya podemos visitar nuestro sitios web.
Links
  1. https://www.digitalocean.com/community/tutorials/como-configurar-virtual-hosts-de-apache-en-ubuntu-16-04-es
  2. https://geekytheory.com/como-configurar-un-virtual-host-de-apache-en-linux
  3. https://medium.com/@jhordydelaguila/creando-y-configurando-virtual-host-con-apache-para-xampp-windows-f90c2b0527ac

Detectar que se presionó una tecla con javascript HTML

En javascript usamos el siguiente código para detectar que se presionó una tecla
// código sacado de stackoverflow

addEvent(document, "keydown", function (e) {
    console.log("Se presiono una tecla");
});

function addEvent(element, eventName, callback) {
    if (element.addEventListener) {
        element.addEventListener(eventName, callback, false);
    } else if (element.attachEvent) {
        element.attachEvent("on" + eventName, callback);
    } else {
        element["on" + eventName] = callback;
    }
}

Links:
  1. https://es.stackoverflow.com/questions/82929/eventos-keypress-keydown-keyup

¿Cómo crear y usar un botón en HTML5?

El siguiente es un ejemplo básico de como insertar un botón:
<!DOCTYPE html>
<html>
<body>

<p> Click en el boton</p>
<button type="button" onclick="alert('Hola')">Click</button>
 
</body>
</html>
  1. https://www.w3schools.com/tags/tag_button.asp
  2. https://vinkula.com/crear-botones-personalizados-con-html5-y-css3/

¿Cómo limpiar un input de html con javascript?

Solo tenemos que identificar el elemento y en value asignar '' (un string vacio)
<!DOCTYPE html>
<html>
<body>

<p>Clear the input field when it gets focus:</p>
<input type="text" id="input1">

<button type="button" onclick="miFuncion()">Click</button>
</body>

<script>
function miFuncion(){
 x = document.getElementById('input1');
    x.value='';
}
</script>
</html>
  1. https://stackoverflow.com/questions/17237772/html-how-to-clear-input-using-javascript
  2. https://www.w3schools.com/howto/howto_html_clear_input.asp

Use Jupyter Notebook keyboard shortcuts

One of the shortcuts is to pass code mode to Markdown mode, and that is achieved by pressing Esc and then m to switch to Markdown mode and pressing Esc and then y to enter Code mode.

Links:
  1. https://www.cheatography.com/jorgejuan007/cheat-sheets/jupyter-notebook-atajos-de-teclado/

¿Cómo agregar anclas en HTML?

En HTML antes de HTML5 se usaba el atributo name en la etiqueta a, pero para HTML5 es obsoleto.
<a name="miAncla"></a>

En HTML5 se identifica un ancla con el id de una etiqueta.
<a id="miAncla"></a>
<p id="miAncla2"></p>

Para crear un enlace ancla hacemos:
<a href="http://sitio_ejemplo.com/pagina_ejemplo.html#miAncla">Ir</a>

Links:
  1. https://cybmeta.com/anclajes-y-enlaces-ancla
  2. https://sensacionweb.com/enlaces-ancla-html-wordpress/
  3. https://blog.webnode.es/2013/05/23/consejo-rapido-como-crear-anclas-en-html-para-tu-pagina-web/
  4. http://www.echoecho.com/htmllinks08.htm
  5. https://www.rapidtables.com/web/html/link/html-anchor-link.html
  6. https://www.ejemplode.com/17-html/91-ejemplo_de_ancla_con_html.html
  7. http://www.comocreartuweb.com/curso-de-html/curso-html-introducion/los-enlaces/anclajes.html
  8. http://www.forosdelweb.com/f4/ancla-html5-1058466/
  9. https://ayuda.jimdo.com/trucos-y-tutoriales/enlaces-ancla/

¿Cómo citar y referenciar con el estilo Vancouver?

La bibliografía es una lista alfabética de libros y otras fuentes consultadas que fueron examinadas durante la preparación de una investigación o trabajo realizado[2].

Esquemas general para las referencias

Para un libro

Autor/es. Título del libro. Edición. Lugar de publicación: Editorial; año.

Links:

  1. http://biblioguias.uam.es/citar/estilo_vancouver
  2. https://www.um.es/documents/479763/878113/Normas+Vancouver.pdf/965bde04-3c29-48d1-8be6-d91a7307cae1
  3. https://www.ull.es/view/institucional/bbtk/Lista_referencias_Vancouver/es

¿Cómo obtener la información de la memoria RAM en Linux?

En linux existen instrucciones muy útiles:

sudo dmidecode --type memory
Con este comando podemos ver toda la información técnica asociada a la RAM

free
Con este comando vemos la cantidad de RAM usada y disponible.

cat /proc/meminfo
Con este comando vemos la información almacenada en el archivo meminfo, que trata sobre la memoria.

Links:
  1. https://linuxzone.es/2012/11/30/tip-toda-la-informacion-de-nuestra-memoria-ram-desde-la-terminal/
  2. http://elblogdeliher.com/como-obtener-informacion-de-la-memoria-ram-en-ubuntu/

¿Cuáles son los tipos de investigación?

Podemos clasificar la investigación de innumerables formas:

Según su Aplicación

Básica

Es aquella que se hace sin ningún tipo de interés(social, económico, político)[2]

Aplicada

Tiene como objetivo mejorar la situación de las personas, economía, salud.[2]

Según su Objetivo

Descriptiva

Es aquella donde se describe el fenómeno nuevo, sin necesita de saber que sucede, solo se describe.

Correlacional

Es aquella donde se estudia la correlación de dos o más fenómenos.

Explicativa

Está relacionado con la correlacional, es decir, basados en la correlación explican porque ocurre un fenómeno.

Exploratorio

Es aquel que se estudia un tema desconocido.

Factibilidad o estudio piloto

Esto tiene que ver con la industria, la producción. Se realiza el estudio con un subconjunto del "fenómeno" y luego se realiza el estudio con todo el "fenómeno".

Según métodos de Investigación

Cualitativo o estructurado

Existen cantidades, se correlacionan cantidades. Gráficos.

Cuantitativo o no estructurado

No hay números, como los sentimientos.

Combiando

Tiene que ver con y sin números, es una combinación de cualitativo y cuantitativo.

Links:
  1. http://tesisdeinvestig.blogspot.com/2011/11/tipos-de-investigacion-segun-ander-egg.html
  2. https://www.youtube.com/watch?v=b9dzF7MeXMI

¿Que es el algoritmo de consenso?

Existen distintos algoritmos de consenso, estos resuelven el problema de poner de acuerdo múltiples procesos en algo[2].

Algunos algoritmos de consenso son:
  • Raft
  • Paxos

Algoritmo de consenso Paxos

Paxos se puede usar para elegir un lider de un grupo de nodos[3]

Algoritmo de consenso Raft

Es una mejora de Paxos

Links:
  1. https://es.wikipedia.org/wiki/Raft
  2. https://es.wikipedia.org/wiki/Problema_del_consenso
  3. https://es.wikipedia.org/wiki/Algoritmo_de_Paxos

Crowd simulation

It is the process of simulating a large number of objects or people, a direct application is in the cinema that to avoid expenses generating a large number of characters (in a traditional way) in a scene, we resort to the simulation of crowds.

  Links
  1. https://es.wikipedia.org/wiki/Simulaci%C3%B3n_de_multitudes
  2. https://www.researchgate.net/publication/239791848_Comportamientos_en_simulacion_de_multitudes_revision_del_estado_del_arte