Hosting

Sed, el editor de secuencias, y un poco de expresiones regulares. Sys Admin y DevOps.

El comando SED en UNIX significa editor de flujo y puede realizar muchas funciones en el archivo, como buscar, encontrar y reemplazar, insertar o eliminar. Aunque el uso más común del comando SED en UNIX es para sustitución o para buscar y reemplazar. Al usar SED, puede editar archivos incluso sin abrirlos, que es una forma mucho más rápida de encontrar y reemplazar algo en el archivo, que primero abrir ese archivo en VI Editor y luego cambiarlo.

  • SED es un potente editor de secuencias de texto. Puede hacer inserción, eliminación, búsqueda y reemplazo (sustitución).
  • El comando SED en Unix admite la expresión regular, lo que le permite realizar coincidencias de patrones complejos.

Sintaxis

OPCIONES sed... [GUIÓN] [ARCHIVO DE ENTRADA...] 

Ejemplo:
considere el siguiente archivo de texto como una entrada.

$cat > file.txt
Unix es un gran sistema operativo. Unix es de código abierto. Unix es un sistema operativo libre.
aprender sistema operativo.
unix linux cuál eliges.
unix es fácil de aprender.unix es un sistema operativo multiusuario.Aprender unix .unix es un poderoso.

Reemplazar o sustituir una cadena: el comando Sed se usa principalmente para reemplazar el texto en un archivo. El siguiente comando sed simple reemplaza la palabra «unix» con «linux» en el archivo.

$sed 's/unix/linux/' file.txt
linux es un gran sistema operativo. Unix es de código abierto. Unix es un sistema operativo libre.
aprender sistema operativo.
linux linux cuál eliges.
linux es fácil de aprender.unix es un sistema operativo multiusuario.Aprender unix .unix es poderoso.
Aquí la “s” especifica la operación de sustitución. Los “/” son delimitadores. El "unix" es el patrón de búsqueda y el "linux" es la cadena de reemplazo.

De forma predeterminada, el comando sed reemplaza la primera ocurrencia del patrón en cada línea y no reemplazará la segunda, tercera... ocurrencia en la línea.

Reemplazo de la enésima ocurrencia de un patrón en una línea: Use las banderas /1, /2, etc. para reemplazar la primera, segunda ocurrencia de un patrón en una línea. El siguiente comando reemplaza la segunda aparición de la palabra «unix» con «linux» en una línea.

$sed 's/unix/linux/2' file.txt
Unix es un gran sistema operativo. Linux es de código abierto. Unix es un sistema operativo libre.
aprender sistema operativo.
unix linux cuál eliges.
Unix es fácil de aprender. Linux es un sistema operativo multiusuario. Aprenda Unix. Unix es un poderoso.

Reemplazo de todas las ocurrencias del patrón en una línea: el indicador de sustitución /g (reemplazo global) especifica el comando sed para reemplazar todas las ocurrencias de la cadena en la línea.

$sed 's/unix/linux/g' file.txt
linux es un gran sistema operativo. Linux es de código abierto. linux es un sistema operativo libre.
aprender sistema operativo.
linux linux cuál eliges.
linux es fácil de aprender. linux es un sistema operativo multiusuario. Aprenda linux. linux es un poderoso.

Reemplazar desde la enésima aparición a todas las apariciones en una línea: use la combinación de /1, /2, etc. y /g para reemplazar todos los patrones desde la enésima aparición de un patrón en una línea. El siguiente comando sed reemplaza la tercera, cuarta, quinta… palabra «unix» con la palabra «linux» en una línea.

$sed 's/unix/linux/3g' file.txt
Unix es un gran sistema operativo. Unix es de código abierto. linux es un sistema operativo libre.
aprender sistema operativo.
unix linux cuál eliges.
unix es fácil de aprender.unix es un sistema operativo multiusuario.Aprender linux .linux es un poderoso.

Como vemos, el comando Sed es muy útil para realizar operaciones de búsqueda y reemplazo de patrones de texto.

Expresiones Regulares (RE)

Veamos ahora un ejemplo de cómo utilizar Espresiones Regulares con el comando Sed.

Colocar entre paréntesis el primer carácter de cada palabra: este ejemplo de sed imprime el primer carácter de cada palabra entre paréntesis.

$ echo "Bienvenido al mundo de Linux" | sed 's/\b\([a-zA-Z]\)/(\1)/g'

La expresión regular ‘s/\b([a-zA-Z])/(\1)/g’ se puede interpretar de la siguiente manera:

  • La letra ‘s’ al principio indica que se trata de una operación de reemplazo (substitución).
  • El primer conjunto de caracteres dentro de las barras inclinadas (‘/’) representa el patrón de búsqueda a ser reemplazado. En este caso, el patrón de búsqueda es ‘\b\([a-zA-Z]\)’, que busca un carácter de palabra que sea una letra mayúscula o mayúscula al inicio de una palabra.
  • El segundo conjunto de caracteres dentro de las barras inclinadas (‘/’) representa el texto de reemplazo. En este caso, el texto de reemplazo es ‘(\1)’, que reemplaza el patrón de búsqueda con la misma letra mayúscula que se encontró, pero esta vez entre paréntesis.
  • La letra ‘g’ al final indica que se debe realizar la operación de reemplazo en todas las instancias encontradas en el texto, no sólo en la primera.

Entonces, esta expresión regular busca todas las letras mayúsculas que comienzan una palabra y las reemplaza por la misma letra entre paréntesis.

Con el comando Sed puedes realizar un gran número de modificaciones y sustituciones de texto, incluso también se puede usar para eliminar líneas de un archivo en particular. 

Para que conozcas más sobre la sintaxis de este comando y su uso con expresiones regulares tanto básicas (BRE) como extendidas (ERE) te recomendamos que visites la documentación de GNU al respecto.

¿Qué sucedió con CentOS?

En diciembre de 2020, el desarrollador principal de CentOS anunció un cambio en la dirección del proyecto. En lugar de seguir centrándose en CentOS Linux, se centrarían en CentOS Stream, una distribución de nivel intermedio que se centra en proporcionar una vista previa de lo que estará en la próxima versión de Red Hat Enterprise Linux (RHEL).

Este cambio significó que CentOS 8, que estaba programado para recibir actualizaciones hasta 2029, tendría un ciclo de vida acortado hasta finales de 2021. Además, CentOS 7, que se esperaba que recibiera actualizaciones hasta 2024, también se vio afectado por este cambio.

Este cambio fue recibido con críticas por parte de muchos usuarios y empresas que dependían de CentOS Linux como una distribución estable y de largo plazo. Como resultado, algunos proyectos de la comunidad, como AlmaLinux y Rocky Linux, surgieron para llenar el vacío dejado por CentOS Linux.

Alma Linux

AlmaLinux es una distribución de Linux basada en RHEL (Red Hat Enterprise Linux) y creada como una alternativa de código abierto a CentOS Linux, que dejó de ser una distribución de Linux de largo plazo después de que Red Hat anunciara cambios en su modelo de negocio en diciembre de 2020.

AlmaLinux es mantenida por CloudLinux, una empresa que se especializa en sistemas operativos para servidores web y hosting. Se creó como una respuesta a la demanda de una alternativa estable y de largo plazo a CentOS Linux, para que las empresas y usuarios que dependían de ella pudieran continuar utilizando un sistema operativo basado en RHEL sin tener que pagar por una suscripción de Red Hat Enterprise Linux.

La primera versión estable de AlmaLinux se lanzó en marzo de 2021, y se espera que tenga un ciclo de vida similar al de CentOS Linux. Además, AlmaLinux ha anunciado que seguirá siendo compatible con las herramientas y aplicaciones de RHEL, lo que significa que los usuarios de RHEL pueden migrar fácilmente a AlmaLinux sin experimentar problemas de compatibilidad.

En resumen, AlmaLinux es una distribución de Linux estable y de largo plazo, basada en RHEL, que se creó para satisfacer la necesidad de una alternativa de código abierto a CentOS Linux después de que este proyecto dejara de ser una distribución de Linux de largo plazo.

Rocky Linux

Rocky Linux es una distribución de Linux de código abierto basada en RHEL (Red Hat Enterprise Linux) y creada como una alternativa a CentOS Linux después de que Red Hat anunciara cambios en su modelo de negocio en diciembre de 2020, lo que llevó a que CentOS Linux dejara de ser una distribución de Linux de largo plazo.

Rocky Linux fue fundada por Gregory Kurtzer, el fundador original de CentOS Linux, y fue desarrollada por la comunidad. Kurtzer inició el proyecto poco después de que Red Hat anunciara el cambio en la dirección de CentOS Linux.

Rocky Linux se ha comprometido a seguir siendo una distribución de Linux de largo plazo y estable, con un ciclo de vida similar al de CentOS Linux. La distribución tiene como objetivo ofrecer una alternativa de código abierto a Red Hat Enterprise Linux para los usuarios que deseen una distribución de Linux estable y de largo plazo, pero que no quieren pagar por una suscripción de RHEL.

La primera versión estable de Rocky Linux se lanzó en junio de 2021, y desde entonces ha habido varias actualizaciones. Además, Rocky Linux ha anunciado que seguirá siendo compatible con las herramientas y aplicaciones de RHEL, lo que significa que los usuarios de RHEL pueden migrar fácilmente a Rocky Linux sin experimentar problemas de compatibilidad.

En resumen, Rocky Linux es una distribución de Linux de código abierto estable y de largo plazo, basada en RHEL, que se creó para ofrecer una alternativa a CentOS Linux después de que Red Hat anunciara cambios en su modelo de negocio.

Headless Browsing: Screenshot de sitio web con Python y pyppeteer.

La automatización del navegador es usar Python para ejecutar pasos e integrar información de un navegador web en nuestro flujo de datos, como parte de los procesos DevOps y Build Automation con Python.

En este caso concreto realizaremos la apertura de la página web «https://learnsql.com/«, tomaremos una captura de pantalla y la guardaremos en el directorio de nuestro proyecto. Su nivel de dificultad es mínimo pero su integración a un flijo de datos requerirá configuraciones adicionales.

Como sabemos, para realizar esto por ejemplo en Windows se requiere presionar la tecla del logotipo de Windows + Mayús + S. El escritorio se oscurecerá mientras seleccionas un área para la captura de pantalla. Sin embargo, podemos utilizar un código que automatiza esta función en Python. Lo primero es instalar las librerías necesarias, pyppeteer y asyncio:

pip install pyppeteer
pip install asyncio

Luego escribimos un código abreviado para abrir la página web y tomar una captura de pantalla, al cual nombraremos «web_screenshot.py»:

import asyncio
from pyppeteer import launch

async def main():
    browser = await launch(options={'args': ['--no-sandbox']})
    page = await browser.newPage()
    await page.goto('https://learnsql.com/')
    await page.screenshot({'path': 'example.png'})
    await browser.close()

asyncio.get_event_loop().run_until_complete(main())

Nota : cuando ejecuta pyppeteer por primera vez, descarga la última versión de Chromium (~150 MB) si no se encuentra en su sistema. Si no prefiere este comportamiento, asegúrese de tener instalado un binario de Chrome adecuado. Una forma de hacer esto es ejecutar pyppeteer-installel comando antes de usar esta biblioteca.

[INFO] Starting Chromium download.

Una vez terminada la ejecución del script podrá encontrar el screenshot de la página web «learnsql.com» en el directorio de su proyecto que se ha guardado con el nombre de «example.png».

Proyect Files

Puede abrir la imagen para ver su contenido.

example.png

Este script puede configurarlo para una lista de URLs y obtener los screenshots de cada una, guardando las respectivas imágenes obtenidas en un directorio particular el cual podrá servidor como directorio «images», «assets», o «static» en su sitio web o aplicación.

Muchas proveedores de SaaS, y paneles de control web, han integrado en sus procesos el despliege de screenshot como parte de la información que ofrecen a sus osuarios, respecto de webs o aplicaciones que hospedan o administran.

El caso de Vercel, que automatiza la este proceso una vez que se ha hecho el deploy satisfactorio de la aplicación, y subsiguientes deploys.

Automatización en AirFlow

Para ejecutar automáticamente este script «web_screenshot.py» de Python con Apache Airflow, primero debe definir un DAG (Grafo Acíclico Dirigido) en un archivo Python que indique cómo y cuándo se debe ejecutar el archivo de Python. Luego, puede usar el programador de tareas incorporado de Airflow para planificar y ejecutar la DAG según lo programado.

Crea un DAG simple para ejecutar el código escrito en el archivo de Python llamado «web_screenshot.py» todos los días a las 3 a.m.

from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.python_operator import PythonOperator

# definir la función que se ejecutará
def mi_funcion():
    exec(open('/ruta/a/web_screenshot.py').read())

# definir el DAG
default_args = {
    'owner': 'yo',
    'depends_on_past': False,
    'start_date': datetime(2023, 3, 11, 3, 0),
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

dag = DAG(
    'demo',
    default_args=default_args,
    description='Ejecución de web_screenshot.py todos los días a las 3 a.m.',
    schedule_interval=timedelta(days=1),
)

# definir el operador PythonOperator que ejecutará mi_funcion
mi_operador = PythonOperator(
    task_id='mi_tarea',
    python_callable=mi_funcion,
    dag=dag,
)

# definir la dependencia del operador
mi_operador

En este ejemplo, la función mi_funcion() simplemente ejecuta el archivo «web_screenshot.py». Luego, se define un DAG llamado «demo» con un operador PythonOperator llamado «mi_tarea» que ejecutará mi_funcion().

El DAG está programado para comenzar a las 3 a.m. el día en que se defina y se repetirá diariamente (schedule_interval=timedelta(days=1)). Si desea programar la ejecución en un intervalo de tiempo diferente, simplemente modifique el argumento start_date y schedule_interval según sea necesario.

Una vez que haya definido su DAG, puede guardar el archivo Python y agregarlo al directorio «dags» en su instalación de Airflow. Airflow automáticamente detectará y cargará el DAG en su sistema, y se ejecutará según lo programado. Puede monitorear el progreso del DAG en la interfaz web de Airflow.

Utilidades avanzadas

La automatización dentro de un pipeline o flujo de datos entre procesos es parte del fundamento del DevOps. Con AirFlow puedes crear DAGs que analizen y verifiquen la integridad de procesos, reporten fallas mediante envio de correo electrónico, realizar labores de mantenimiento o respaldo en Bases de Datos, e incluso ejecutar trabajos de entrenamiento y predicción en sistemas de Inteligencia Artificial sobre nuevos datasets.

Para conocer más sobre la automatización con AirFlow puedes visitar su centro de documentación.

Cloud Composer

Servicio totalmente gestionado de orquestación de flujos de trabajo integrado en Apache Airflow sobre Google Cloud.

Capacitación recomendada

Para ahondar más en el tema de la automatización DevOps con Python te recomiendo seguir el programa especializado Python Scripting for DevOps Specialization en Coursera.

Lea también Tutorial ¿Cómo configurar Airflow en un servidor Ubuntu? Parte 1

¿ Qué es el Diseño Web 3.0?

Nos encanta el diseño web, y es nuestra pasión. El diseño web es parte de nuestra vida. Desde el año 2000, hemos observado lo que sucede en el mundo del diseño web todos los días. Estamos involucrados en el proceso de diseño web, y se han diseñado millones de páginas web con nuestra participación activa. Y ahora, nos gustaría compartir algunas de nuestras interesantes ideas con usted.

Ccompartimos el secreto sobre cómo crear los diseños web más modernos del mundo. Aprenderá las reglas básicas del diseño web moderno para crear sitios web, blogs y temas de clase mundial. Descubrirá cómo volverse único, cómo destacarse de la competencia y cómo atraer la atención de sus clientes.

Este artículo consta de varios capítulos:

En el Capítulo 1 , descubriremos cómo está cambiando el diseño web. Además, aprenderá sobre el nacimiento de la nueva generación de diseñadores web, que están diseñando páginas web en Diseño Web 3.0.

En el Capítulo 2 , hablaremos sobre los creadores de sitios web que se están quedando atrás de las tendencias y frenando la evolución del diseño web.

En el Capítulo 3 , aprenderá a crear diseños web modernos de una forma nueva, rápida y fácilmente.

Capítulo 1. El diseño web está cambiando

Lo primero de lo que hablaremos es del diseño web . Está cambiando rápidamente. Para comprender esto, debe revisar la evolución del diseño web: desde los primeros sitios hasta los sitios web de moda de hoy. Intentaremos predecir qué tipo de diseños web serán populares en un futuro próximo.

Hay tres etapas en la evolución del diseño web. En la imagen a continuación, hemos coloreado cada etapa y agregado años a la línea de tiempo.

diseño-historia.jpg

Evolución del diseño web

Primeros sitios web

Los primeros sitios web estaban basados ​​en texto. Y es difícil decir que tenían algún diseño web.

Transición al Diseño Web 1.0

Más tarde, se produjo la transición al Diseño Web 1.0. Aparecieron algunos elementos gráficos en los sitios web, que se volvieron más atractivos. Las páginas web tienen tablas. Luego, las tablas se transformaron en Layouts y Grids. Las tablas brindaban cierta flexibilidad, pero no eran compatibles con dispositivos móviles y no era necesario en ese momento.

Muchas personas crearon sus propios sistemas de gestión de contenido (CMS). Por lo tanto, los webmasters no tuvieron que editar los archivos HTML ni subirlos a los servidores. Pero era posible modificar el contenido en línea en tiempo real.

La evolución del diseño web y la difusión de los teléfonos móviles llevaron a nuevos cambios.

Transición al Diseño Web 2.0

La siguiente transición fue al Diseño Web 2.0. Las páginas web tenían cuadrículas y los diseñadores web podían organizar elementos con diseños.

Bootstrap aceleró la velocidad del desarrollo web. Simplificó el proceso y lo hizo más conveniente. Bootstrap admitió dispositivos móviles desde el principio con Grids.

Bootstrap’s Grid se estiró automáticamente al ancho completo de las pantallas. Redujo significativamente el tiempo que el desarrollador dedicaba a la codificación para admitir computadoras de escritorio, portátiles, tabletas y teléfonos.

receptivo.jpg

Sitio web moderno en varios dispositivos

WordPress, Joomla y Drupal se convirtieron en los sistemas de gestión de contenido más populares. Reemplazaron los sistemas autoescritos, que eran imperfectos y costosos de escribir y mantener y que también tenían una funcionalidad limitada. Gracias a WordPress y Joomla, cualquiera puede crear un blog o sitio web. Y hoy, más del 20 % de los sitios se construyen con esos sistemas.

WordPress y Joomla siempre admitieron temas y plantillas, lo que hizo posible modificar el diseño sin cambiar el contenido. Era posible crear temas manualmente o comprar temas ya hechos. Además, los webmasters podrían usar Theme Builder. Hay una gran cantidad de temas y plantillas disponibles.

En 2008, llegó Artisteer. Se convirtió en el generador de temas más popular en ese momento. Con Artisteer, cualquiera puede crear temas y plantillas de sitios web en minutos. Millones de sitios web usan temas diseñados en Artisteer.

¿Está muerto el diseño web?

Parecería que todos deberían estar contentos: diseñadores web, desarrolladores web y usuarios. Sin embargo, había un nuevo problema. Los diseñadores web comenzaron a hacer una pregunta: «¿Está muerto el diseño web?». Puede encontrar artículos que hacen la misma pregunta en todas las plataformas conocidas, como Medium, Mashable, SmashingMagazine, Quora y Reddit. Desde 2015, los diseñadores web se han hecho la misma pregunta.

En la imagen de abajo puedes ver los resultados de búsqueda de Google para esta frase.

Buscar en Google.png

Resultados de búsqueda en Google

¿Por qué está pasando esto? Bootstrap alcanzó el apogeo de su popularidad en 2015-2016. Puedes ver esto en el gráfico a continuación.

bootstrap-popularidad.jpg

Bootstrap en Tendencias de Google

La causa principal de este problema estaba en Bootstrap y análogos. Los diseños web de Bootstrap se parecían tanto entre sí que era como si estuvieran hechos con una plantilla. Muchos creadores de sitios web empeoran la situación al tener Bootstrap como el núcleo de sus sistemas. El diseño de un sitio web de Bootstrap comienza con una imagen general, y otras partes encajan en la estructura de dos, tres y cuatro celdas. Muchos temas y plantillas en Bootstrap impulsaron la distribución de este problema.

Ver en la imagen de abajo.

bootstrap-designs.jpg

Resultados de Pinterest para «diseño web bootstrap»

En 2015, Ben Hunt publicó el libro titulado “Web Design Is Dead”. La idea principal del libro es que la popularidad de los temas y plantillas de 50 dólares casi acabó con la demanda del trabajo del diseñador web. Un diseño web personalizado cuesta mucho más porque requiere tiempo, conocimientos y habilidades. Además del diseño, requiere codificación HTML y CSS personalizada.

¿Sigue siendo un problema hoy en día? Sí, lo es. Después de cuatro años, el problema sigue sin resolverse. En la imagen a continuación, puede ver las sugerencias de búsqueda de Google. La gente sigue haciéndose esta pregunta hoy.

google-2018.png

Consejos de búsqueda en Google

Los diseñadores web comenzaron a encontrar soluciones. No podían mantenerse alejados y ver cómo el diseño web , la pasión de sus vidas, se atascaba en el progreso. Siempre hay diseñadores que quieren hacer de la Web un lugar mejor. Steve Jobs dijo una vez: «Piensa diferente» sobre este tipo de personas. Estas personas siempre buscan nuevas ideas.

Diseño de impresión

El diseño web es muy joven. Tiene unas dos décadas. El diseño de impresión llegó mucho antes que el diseño web y tiene cientos de años de historia.

grafica-diseño-historia.jpg

Evolución del diseño de impresión. Copyright de onlinedesignteacher.com

Las herramientas de diseño de impresión siempre permitieron a los creativos colocar elementos libremente. Los diseñadores no estaban limitados en su creatividad. Y los editores siempre fueron libres en sus ideas. No tenían que pensar en HTML, CSS o dispositivos móviles.

La fórmula del diseño de impresión:

POSICIONAMIENTO LIBRE + CREATIVIDAD = DISEÑO DE IMPRESIÓN MODERNO

diseños-de-impresion.jpg

Diseño de impresión en Pinterest

Hoy en día, muchos editores han reducido significativamente las tiradas de impresión y se han puesto en línea. Las páginas impresas se han convertido en páginas web en la Web. Pero esas páginas web perdieron la creatividad y la libertad del diseño impreso. Los diseñadores no querían perder las ideas impresas que habían recopilado durante años. Comenzaron a diseñar con ideas impresas en línea.

El nacimiento del diseño web 3.0

A partir de 2016, comenzamos a notar que las ideas de Print Design aparecían regularmente en diseños de páginas web en Pinterest, Behance y Dribbble. Esos nuevos diseños web diferían con:

  1. Posicionamiento libre.
  2. Superposición de elementos.
  3. Rompiendo las limitaciones de las Grids tipo Bootstrap.

¡Significó el nacimiento del Diseño Web 3.0!

Preguntas comunes de entrevista para programadores front-end

Para un reclutador o gerente de contratación que busca un especialista en software de desarrollo web, la tarea de encontrar uno es potencialmente una contratación costosa. Se debe hacer una investigación seria, tanto en términos de búsqueda y selección de candidatos, ya que contratar a la persona equivocada podría ser potencialmente muy costoso.

Como entrevistado primero deberás responder algunas preguntas básicas para ser seleccionado como el candidato adecuado. Entonces tu entrevistador puede preguntarte algo como:

¿Cuáles son las habilidades técnicas que debe tener un programador front-end?

Un programador front-end necesita ser experto en HTML, CSS, JQuery y JavaScript. Además, debe tener experiencia en sistemas de gestión de contenido (WordPress, Drupal, Joomla); conocimiento de las pruebas entre navegadores; habilidades en OOPS y PHP; algunos conocimientos básicos sobre SEO y cómo trabajar con herramientas como Dreamweaver y Flash.

¿Cuáles son las capas presentes en una página web?

Hay 3 tipos de capas en cualquier página web: la capa de contenido, la capa de presentación y la capa de interacción.

La capa de contenido es la información que contiene un sitio web determinado. La capa de presentación define cómo aparecerá el contenido para sus usuarios, o sea, la apariencia de la página web. La capa de interacción es la que lleva la interacción en tiempo real entre los usuarios y la página web.

Mencione algunas ventajas de usar CSS

CSS:

  • Ahorra tiempo
  • Ayuda en la carga rápida de páginas
  • Es fácil de mantener
  • Es superior al estilo HTL
  • Tiene compatibilidad con múltiples dispositivos
  • Es un estándar global para la web
  • Permite la navegación sin conexión
  • Es independiente de la plataforma donde funciona

Háblame sobre la diferencia entre XHTML y HTML.

HTML y XHTML son lenguajes para escribir páginas web. La principal diferencia es que la sintaxis HTML está basada en SGML, mientras que la sintaxis XHTML está basada en XML.

Nombra algunas de las nuevas características presentes en HTML5.

Algunas características nuevas en HTML5 son:

  • La declaración DOCTYPE
  • La etiqueta Sección (<sección /.… </section>)
  • La etiqueta de encabezado y pie de página
  • La etiqueta Flgcaption

¿Cuál es la diferencia entre cookies, almacenamiento de sesión y almacenamiento local?

Las cookies permiten que las aplicaciones almacenen datos en el navegador. La propiedad de almacenamiento de sesión permite almacenar datos hasta que se cierre la ventana. La propiedad de almacenamiento local permite que las aplicaciones almacenen datos sin que estos expiren.

¿Cuáles son los beneficios de Coffee Script sobre JavaScript?

CoffeeScript tiene muchos complementos ligeros, como la comprensión de la lista de estilos de Python o la interpolación de cadenas Ruby. Con CoffeeScript podemos hacer un programa con un código mucho más corto que JavaScript, y hace que incluso un buen código JavaScript sea más legible. Las tareas cotidianas son más fáciles de realizar con CoffeeScript que con JavaScript.

Preguntas técnicas principales

Luego, deberás responder preguntas más técnicas. Ten en cuenta que las preguntas se alinearán con el interés de los empleadores para cumplir con una tarea actual, por lo que debe estar preparado para responder preguntas relacionadas con la tecnología que la empresa utiliza.

¿Cuándo usarías CSS float?

Float se usa cuando necesitamos hacer que un elemento de nuestra página web sea empujado hacia la derecha o hacia la izquierda y hacer que otros elementos se alineen a su alrededor.

¿Cuál es la diferencia entre la clase y la herencia de prototipos?

La herencia en JavaScript difiere de la mayoría de los otros lenguajes de programación, ya que el sistema de objetos en JavaScript está basado en prototipos, no en clases.

Los objetos en JavaScript son una colección de un nombre (clave) y pares de valores. Cuando se trata de herencia, JavaScript solo tiene una construcción: objetos. Cada objeto tiene una propiedad privada que contiene un enlace a otro objeto llamado prototipo.

¿Cuál es la importancia del HTML DOCTYPE?

DOCTYPE es una instrucción para el navegador web que indica en qué versión del lenguaje está escrita la página. La declaración debe ser lo primero en su documento HTML, incluso antes de la etiqueta <html>.

La declaración DOCTYPE apunta a una definición de tipo de documento (DTD) que proporciona las reglas del lenguaje, por lo que un navegador puede interpretar el contenido correctamente.

¿Qué es la carga diferida? (lazy loading)

La carga diferida es un patrón de diseño que generalmente se usa para retrasar la inicialización de un objeto hasta el período en el que se requiere. Puede ayudar al rendimiento en la operación del programa si se usa correcta y adecuadamente.

Es un código que carga solo una vez que el usuario lo necesita, como un botón en la página que revela un diseño diferente una vez que el usuario lo presionó. Por lo tanto, no es necesario cargar el código para ese diseño en la carga inicial de la página. 

¿Cómo manejas la incompatibilidad de estilo específica del navegador?

Hay varias formas de solucionar este problema. La forma más sencilla de hacerlo sería usar una declaración condicional en la etiqueta principal de nuestro HTML. De esta manera, podemos reconocer el navegador y cargar una hoja de estilo externa si es necesario.

Explica la diferencia entre diseño web adaptable y sensible.

Responsive Web Design se basa en una cuadrícula fluida que cambiará automáticamente con el navegador, sin importar cuál sea la resolución de la pantalla, el contenido puede separarse y realinearse si es necesario.

Por otro lado, el diseño web adaptativo no se establece necesariamente en una cuadrícula fluida. Apunta a resoluciones específicas del dispositivo y puede establecer anchos relativos con porcentajes, controlados por consulta de medios.

Puedes leer mas, y analizar mas preguntas/respuestas en los sighuientes links;

Preguntas para programadores front-end: pasar la entrevista sin experiencia

Las 60 preguntas de la entrevista de los especialistas en desarrollo de software para la web

10 preguntas típicas en una entrevista de trabajo para desarrollador web

cPanel, ventajas del panel de alojamiento web

cPanel se lanzó por primera vez en 1996, y durante casi dos décadas ha ganado una inmensa popularidad como un panel de control de alojamiento web estable y confiable. cPanel se ejecuta en el sistema operativo Linux. En este artículo, estamos discutiendo las ventajas del alojamiento cPanel.

Se considera muy útil entre sus usuarios por ser extremadamente fácil de usar, receptivo y bien estructurado. Tiene muchas características que lo convierten en un alojamiento web prometedor para todos los expertos profesionales en TI, así como para usuarios aficionados. Realmente no tiene que ser muy experto en tecnología para poder ejecutar este servidor de alojamiento web. Es fácil de usar para los usuarios del día a día y los administradores del sistema.

Ventajas del panel de alojamiento cPanel
Basado en un sistema operativo Linux estable, cPanel promete una extrema facilidad de uso para sus clientes, ya que cPanel logra producir resultados potentes con un conjunto de características muy competentes. A continuación, revisaremos los principales beneficios que cada usuario de cPanel tiene la oportunidad de disfrutar al usar un servidor y panel de alojamiento web.

Instalación
El primer beneficio asociado con cPanel es el hecho de que es muy fácil de instalar. Primero debes adquirir la licencia (iniciando en unos $15.99 actualmente). El proceso de instalación es muy sencillo y consta de unos sencillos pasos que el usuario puedes seguir fácilmente en su propio servidor.

En el caso de nuestros servicios de hosting compartidos en MultihostExpress y HostSpace, estos cuentan con la instalación y acceso a cPanel incluida en el costo del servicio, de modo que puedas utilizarlo en forma inmediata.

Interfaz
La interfaz de usuario del panel de control es muy simple y fácil. La interfaz gráfica ha sido diseñada para ser fácil de usar y altamente receptiva. Por lo tanto, los usuarios no encuentran ningún problema en el manejo del panel de control de su sistema. Además, admite comandos sencillos para funciones complejas. Los usuarios podrán realizar todas las tareas básicas y complejas, como la evaluación del espacio disponible en el disco, mantenimiento del sistema y copias de seguridad del sistema con solo unos pocos clics.

El alojamiento web de tamaño
cPanel viene con el requisito básico de ejecutarse únicamente en un sistema operativo basado en Linux. Ocupa solo 20 GB de espacio en disco y requiere 512 MB de RAM para ejecutarse en el sistema. En la actualidad, esto parece un requisito muy sencillo y básico de cumplir.

Características
Sin duda, una de las mejores cosas de cPanel es su amplia gama de características de alta gama. Estas características permiten a los usuarios acceder, alojar y administrar sus cuentas de sitios web en línea sin problemas. Además, todas las funciones de cPanel están protegidas por un antivirus que evita los ataques de virus y malware no deseados.

Flexible
Una de nuestras funciones favoritas personales en cPanel es su flexibilidad. Casi nunca se encontrará con un servidor web que le permita transferir su sitio web junto con todo su contenido de un servidor de alojamiento web a otro tan fácilmente. Funciona como el flujo de agua, tan suave y sin fallas técnicas.

Compatibilidad
Una gran ventaja de cPanel es que es compatible con todos los navegadores web. Funciona bien con una amplia gama de plataformas de navegación, incluidas las principales: Google Chrome, Safari, Opera, Firefox e Internet Explorer. También da la bienvenida a los complementos de terceros para impulsar sustancialmente la dinámica del sitio web. Estos complementos pueden ser cualquier cosa, desde blogs en el sitio hasta blogs de invitados, libros electrónicos o tableros de marketing digital.

Confiabilidad y soporte
cPanel rara vez solicita su soporte y, en cambio, siempre está allí como un soporte confiable en el que puede confiar. cPanel tiene la capacidad de detectar errores automáticamente y reiniciar el sistema por sí solo para un servicio actualizado.

Adquiere tu cuenta de hospedaje compartido, que incluyen CPANEL incluido, o tu servidor VPS con CPANEL/WHM incluido (ahorras los $15.99 mensuales) con:

MultihostExpress

HostSpace

Sí, estamos utilizando el software de administración de alojamiento web más popular para todos nuestros clientes de alojamiento. ¡Completamente gratis!.