B3T8 Scripting Back Flashcards

(50 cards)

1
Q

Lenguajes que se interpretan en Scripting Back

A
  • PHP
  • Ruby
  • Python
  • Perl
  • JavaScript
    JavaScript de servidor. Sin navegador ya vimos que con NodeJS se podría ejecutar código JS.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Herramienta de gestión de dependencia o gestor de paquetería en Perl

A

PPM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Herramienta de gestión de dependencia o gestor de paquetería en JS

A

npm (y yarn) y las dependencias quedan especificadas en el fichero package.json

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Herramienta de gestión de dependencia o gestor de paquetería en Ruby

A

Gems, y las dependencias quedan especificadas en el fichero gemfile

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Herramienta de gestión de dependencia o gestor de paquetería en Python

A

Pip, y las dependencias quedan especificadas en el fichero setup.py

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Herramienta de gestión de dependencia o gestor de paquetería en PHP

A

Composer, y las dependencias quedan especificadas en el fichero composer.json

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qué son los Frameworks Web

A

Conjunto de herramientas, librerías, componentes preconstruidos y reglas estandarizadas que sirven como base para crear aplicaciones web de manera rápida, segura y estructurada

Tecnologías para hacer aplicaciones web, clases ya hechas para facilitar la vida a la hora de recibir peticiones http y generar resultados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Frameworks JavaScript para desarrollar aplicaciones web

A

Express (igual que Spring o Struts o JSF en Java, o ASP.NET en tecnología .NET)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Frameworks Perl para desarrollar aplicaciones web

A

Catalyst, Mojolicious, y Dancer (menos preguntable Perl)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Frameworks Python para desarrollar aplicaciones web

A

Django, Pyramid, Turbobears, Web2py, Flask

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Frameworks Ruby para desarrollar aplicaciones web

A

Ruby on Rails, Roda, Cuba, Sinatra, Padrino

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Framework PHP para desarrollar aplicaciones web

A

Laravel, Symfony, Codeigniter, CakePHP, Yii, Zend (ahora Laminas/Mezzio) y Slim

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Diferencia entre Angular y Express

A

Angular es un Framework Web Frontend (para las interfaces de usuario, etc) mientras que Express es un Framework Web Backend, usado para crear APIs y manejar la lógica del servidor. No son rivales, trabajan juntos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué conjunto de tecnologías se basan íntegramente en JavaScript, donde Express.js actúa como el marco de aplicaciones web para el servidor?

A

Arquitectura MEAN (es una pila de productos) :
- Mongo DB : BBDD uso en el servidor
- Express.js : Framework Web en el que vamos a desarrollar nuestro código, uso en el servidor
- Angular : parte no servidora
- NodeJS : motor JS, necesario para correr el Express.JS, uso en el servidor (Runtime)

Nota: Se usa el marco de aplicaciones o Framework web Express de JS, y por lo tanto, para correrlo en el servidor necesitamos NodeJS. En la parte no servidora el Framework que sea, en este caso Angular y en cuanto a la BBDD en el servidor, MongoDB almacena datos en formato BSON (binario de JSON), lo que encaja perfectamente con JavaScript y Node.js, haciendo la manipulación de datos muy ágil y no requiere un esquema fijo, ideal para prototipos rápidos o estructuras de datos cambiantes; pero se podrían utilizar otras opciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué productos hemos utilizado si en vez de la arquitectura MEAN, hemos utilizado la arquitectura MERN?

A

En vez de Angular, en la parte no servidora, hemos utilizado React

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué productos hemos utilizado si en vez de la arquitectura MEAN, hemos utilizado la arquitectura MEVN?

A

En vez de Angular o React en la parte no servidora, hemos utilizado Vue.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Entorno de ejecución o de servidor web de PHP. ¿Qué capas existen?

A

Mientras que en la parte cliente se realizan peticiones contra nuestro servidor, dentro del servidor tenemos 3 capas:
- Capa 1: frontal web, servidor web o servidor HTTP (los más típicos Apache HTTP o NGINX), para redirigir las peticiones.
- Capa 2 : Runtime. Hay 2 opciones:
. Módulo PHP de Apache, con una de las pegas que eso supone, ya que ejecuta en el mismo proceso que el Apache, con lo cual se molesta al Apache.
. Módulo PHP-FPM (FastCGI Process Manager), que es la opción más profesionar, porque el intérprete se ejecuta en un proceso independiente. En este caso no se molesta al Apache. Separa la ejecución de PHP del servidor web utilizado.
- Capa 3 : Base de Datos (ej MySQL)

Nota: todo esto si se utiliza el stack o pila de productos LAMP, WAMP, MAMP o XAMPP, ya que la A es de Apache (podría ser E de Nginx) y la P de PHP, y por lo tanto, en casos como este, PHP suele instalarse como un módulo dentro de Apache para procesar scripts .php, pero con independencia PHP puede funcionar sin Apache (por ejemplo, con Nginx o su servidor interno) y Apache puede servir páginas sin PHP. En este caso, Apache recibe la solicitud del usuario, PHP genera el contenido dinámico (como consultar una base de datos) y Apache devuelve la respuesta final.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Qué productos o paquetes surgieron para crear un entorno de servidor web local para desarrollar y probar aplicaciones?

A
  • WAMP : Windows, Apache, MySQL, PHP o Perl o Python
  • LAMP : Linux, Apache, MySQL, PHP o Perl o Python
  • MAMP : MAC, Apache, MySQL, PHP o Perl o Python
  • XAMPP : X (cualquier SO, es decir, multiplataforma) Apache, MySQL, PHP, Perl
  • LEMP : Linux, Nginx (E por la pronunciación), MySQL, PHP
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué tipo de producto PHP es un gestor de contenidos educacional?

A

Moodle. (Learning Management System LMS)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Qué tipo de producto PHP es un gestor de contenidos generalistas?

A

Drupal, joomla (Content Management System)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Qué tipo de producto PHP es un gestor de contenidos orientados al comercio electrónico?

A

magento y prestashop

22
Q

¿Qué tipo de producto PHP es un gestor de contenidos para montar un foro?

23
Q

¿Qué tipo de producto PHP es un gestor de contenidos para montar una wiki?

A

docuwiki y mediawiki

24
Q

¿Qué tipo de producto PHP es un gestor de contenidos o gestores documentales?

A

alfresco y documentum (almacenar documentos, ej:pf + metadatos + ACLS acceso + Versionado)

25
¿Cuál es una alternativa que salió a Nodejs de JS?
Deno (otro runtime). Lo creó una persona del equipo de desarrollo de Node, escrito en Go. Utiliza el Protocol Buffer (no cree que sea preguntable)
26
Operadores PHP muy preguntables
- "." concatena - "==" igualdad - "===" idéntico - "<[](http://)=[](http://)>" nave espacial o space ship: dice que devuelve 0 si son iguales, -1 si el de la izquierda es menor y +1 si el de la izquierda es mayor (PHP7)
27
¿Cómo empiezan las variables en PHP?
Por $ Ej $a=6; $b=-2; $c=4; $d=8; $a <[](http://)=[](http://)> $b (+1) $c <[](http://)=[](http://)> $d (-1)
28
En PHP nombre de las variables que son arrays predefinidos, que siempre están disponibles en cualquier parte de un script, sin necesidad de declararlas o usar global, facilitando el acceso a información del entorno del servidor, datos de formularios (GET, POST, FILES), cookies, sesiones y variables de entorno
Las variables superglobales
29
¿Qué supervariable global actúa como un array asociativo para recopilar los datos enviados a través de la URL mediante el método HTTP GET?
**$_GET** Recoge datos enviados a través de la URL (parámetros). Las variables y sus valores aparecen después de un signo de interrogación (?) y se separan por ampersands (&) (ej: pagina.php?clave=valor&otra=data).
30
¿Qué supervariable global actúa como un array asociativo para recibir y almacenar todos los datos enviados desde un formulario HTML que utiliza el método POST?
**$_POST**
31
¿Qué función tienen las siguientes supervariables globales? - $_COOKIES - $_SESSION - $_REQUEST
- **$_COOKIE** : leer las cookies que un sitio web guarda en el navegador del usuario para almacenar información (como preferencias o estado de sesión) y poder identificarlo o personalizar su experiencia en futuras visitas - **$_SESSION** : funciona como un array asociativo para almacenar datos específicos de un usuario en el servidor, permitiendo mantener información entre diferentes páginas durante la visita - **$_REQUEST** : variable superglobal que unifica los datos enviados por métodos GET, POST y COOKIE
32
Tipos de datos PHP
- integer - float - string - array - object - resource - boolean - null
33
¿Cómo se llama el constructor en PHP?
__construct Nota: - en java el constructor se llama como la clase - en Python se llama "def __init__(self, marca, modelo, año)"
34
Comparativas con JAVA de PHP
- interfaces como en java - clases abstractas como en java - palabra final como en java - en vez de "super" en php es "**parent::**" - el método toString de java en PHP es "**_ _tostring**" - static es como en java - en php la llamada a un método de instancia "**->**" y en java "."
35
Cómo comienza un magic method
- los magic methods son los métodos que empiezan por "_ _" (juntos los guiones bajos)
36
¿Cómo se llaman los mecanismos de reutilización de código que permiten agrupar métodos y propiedades para usarlos en clases independientes, superando la limitación de la herencia simple de PHP y permitiendo la composición horizontal de comportamientos sin herencia múltiple?
Traits (Tratos)
37
En el framework web Laravel, ¿cómo se llama el componente de seguridad donde se definen reglas de seguridad como ACL´s o autorizaciones?
Gates y policies
38
En el framework web Laravel, ¿cómo se llama el componente que consiste en un control de versiones para tu base de datos, permitiéndote definir y modificar la estructura de tablas (crear, alterar, eliminar) de forma programática usando código PHP en lugar de SQL manual?
Migration
39
Componente de Laravel que consiste en una clase de PHP que representa una tabla en tu base de datos para interactuar con la tabla, realizar consultas y manipular datos usando la sintaxis de Objetos
Model
40
Componente de Laravel que consiste en una clase PHP que contiene código para insertar datos en la base de datos y sirve para poblar la base de datos con datos iniciales necesarios
Seeder (sembradora en inglés)
41
Componente de Laravel que consiste en una clase que define cómo generar datos de manera predecible y replicable asociados a un modelo
Factory
42
¿Cómo se llama el ORM de PHP equivalente a Hibernate/JPA?
Eloquent (viene con Laravel)
43
¿Qué patrón de diseño sigue Eloquent?
Active Record Pattern
44
¿Qué otro ORM existe para PHP?
Doctrine (viene con SymFony)
45
¿Qué patrones de diseño sigue Doctrine?
DAO (Data Access Object) y Data Mapper
46
¿Qué dos herramientas de migración hay en Java, equivalente al componente Migration, de Laravel?
Flyway y Liquibase (herramientas)
47
Diferencia entre Frameworks Frontend y Frameworks Backend
**Frameworks frontend** (como React, Vue, Angular) se especializan en construir interfaces interactivas basadas en componentes **Frameworks backend** (como Django, Express, Laravel) gestionan la lógica del servidor, bases de datos y seguridad para aplicaciones web completas
48
Módulo de Apache que integra el intérprete de PHP directamente dentro del proceso del servidor web
mod_php (o DSO - Dynamic Shared Object)
49
Protocolo eficiente que conecta un servidor web (como Apache o Nginx) con PHP, permitiendo procesar múltiples peticiones dinámicas sin iniciar un proceso nuevo cada vez
PHP FastCGI
50
Implementación alternativa de PHP FastCGI, diseñada para separar el procesamiento PHP del servidor web, gestionando mejor la carga, reduciendo el consumo de memoria y manejando múltiples peticiones simultáneas, ideal para sitios de alto tráfico.
**PHP-FPM** Funciona de manera excelente con Apache, ofreciendo un rendimiento superior a métodos tradicionales como mod_php (modulo PHP de Apache)