Herramientas de usuario

Herramientas del sitio


clase:daw:daw:1eval:tema01

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:daw:daw:1eval:tema01 [2024/10/17 19:22]
admin [Unicode]
clase:daw:daw:1eval:tema01 [2024/11/21 10:50] (actual)
admin [Unicode]
Línea 110: Línea 110:
 ===== Ejemplos de Tipos de Despliegue ===== ===== Ejemplos de Tipos de Despliegue =====
  
-  - Todo el código está en un único servidor servidor Web +  - Todo el código está en un único servidor junto con el  servidor Web y la base de datos. 
-  - Como en el caso anterior pero se añade Todo el código está en un único servidor servidor Web y hay una base de datos pero todo en el mismo Host +  - Todo el código está en un único servidor y por otro lado el servidor Web y la base de datos están en un mismo Host 
-  - Todo el código está en un único servidor servidor Web en un Host y la base de datos está en otro Host +  - Todo el código está en un único servidor, el servidor Web en un Host y la base de datos está en otro Host 
-  - Todo el código está en un único servidor servidor Web en un Host , la base de datos está en otro Host y la copias de seguridad de la base de datos están en otro Host +  - Todo el código está en un único servidor, el servidor Web en otro Host , la base de datos está en otro Host y la copias de seguridad de la base de datos están en otro Host 
-  - Todo el código está en un único servidor servidor Web pero distribuido en 4  Host, hace falta otro host adicional para el balanceo de carga , la base de datos está en otro Host y la copias de seguridad en otro Host. +  - Todo el código está en un único servidor, el servidor Web está distribuido en 4  Hosts, hace falta otro host adicional para el balanceo de carga , la base de datos está en otro Host y la copias de seguridad en otro Host. 
-  - El código fuente está dividido en 3 microservicios, estando cada uno de ellos en un host distinto. Dos de los microservicios usan cada uno su propia base de datos que está cada una en su propio Host y el último microservicio necesita de otro Host con  un servidor de correo para enviar notificaciones.+  - El proyecto está dividido en 3 microservicios, estando cada uno de ellos en un host distinto pero el código está unificado en un único servidorEl primer microservicio tiene su propia base de datos en otro host  obviamente otro host con el servidor web y lo mismo el segundo microservicio. El último microservicio necesita de otro Host con el servidor web y un servidor de correo para enviar notificaciones pero no necesita base de datos.
   - Como en el caso anterior pero se añade que los log de todos los servidores web y de las bases de datos, están centralizados en un Host distinto.   - Como en el caso anterior pero se añade que los log de todos los servidores web y de las bases de datos, están centralizados en un Host distinto.
-  - Como en el caso anterior pero se añade otro servidor que es el que cuando se quiere cambiar el programa , compila el código y lo instala en los Hosts que sea necesario.+  - Como en el caso anterior pero se añade otro servidor que es el que cuando se quiere cambiar el programa , compila el código y lo instala en los Hosts que sea necesario (El código está en el mismo servidor que en el que compila).
   - Como en el caso anterior pero se añade que el código fuente está en otro servidor.   - Como en el caso anterior pero se añade que el código fuente está en otro servidor.
   - Como en el caso anterior pero uno de los microservicios tiene una base de datos tolerante a fallos, por lo que hay 2 Host para la base de datos, de forma que los datos están sincronizados entre ellos y un balanceador de carga si detecta un fallo en una base de datos, redirige las peticiones a la otra base de datos.   - Como en el caso anterior pero uno de los microservicios tiene una base de datos tolerante a fallos, por lo que hay 2 Host para la base de datos, de forma que los datos están sincronizados entre ellos y un balanceador de carga si detecta un fallo en una base de datos, redirige las peticiones a la otra base de datos.
Línea 123: Línea 123:
  
  
-En el siguiente diagrama se vería el ejemplo "4" donde , el servidor web, la base de datos y el servidor de copias de seguridad son servidores distintos:+En el siguiente diagrama se vería el ejemplo donde , el servidor web, la base de datos y el servidor de copias de seguridad son servidores distintos:
  
 {{:clase:daw:daw:1eval:esquema_app.png|}} {{:clase:daw:daw:1eval:esquema_app.png|}}
Línea 229: Línea 229:
  
 ===== Unicode ===== ===== Unicode =====
-Unicode es un estándar de codificación universal que tiene como objetivo permitir la representación de todos los caracteres utilizados en los sistemas de escritura del mundo, además de símbolos y emojis. A diferencia del ASCII (7 bits ) y ANSI (8 bits)Unicode asigna a cada carácter un número único, denominado "punto de código" y los puntos de código son desde U+0000 hasta U+10FFFF.+Unicode es un estándar de codificación que tiene como objetivo permitir la representación de todos los caracteres utilizados en los sistemas de escritura del mundo, además de símbolos y emojis. A diferencia del ASCII (7 bits ) y ANSI (8 bits)Unicode asigna a cada carácter un número único, denominado "punto de código" y los puntos de código son desde U+0000 hasta U+10FFFF (2.097.152 de caracteres).
  
  
Línea 235: Línea 235:
 Además de unicode están: Además de unicode están:
   * **ASCII**: ASCII es un código de 7 bits que permite representar 128 caracteres diferentes, incluyendo las letras mayúsculas y minúsculas del alfabeto inglés, los números, algunos símbolos de puntuación y caracteres de control (como el salto de línea o el tabulador). Fue desarrollado en los años 60 y está diseñado principalmente para manejar textos en inglés, ya que no incluye acentos ni caracteres especiales de otros idiomas.   * **ASCII**: ASCII es un código de 7 bits que permite representar 128 caracteres diferentes, incluyendo las letras mayúsculas y minúsculas del alfabeto inglés, los números, algunos símbolos de puntuación y caracteres de control (como el salto de línea o el tabulador). Fue desarrollado en los años 60 y está diseñado principalmente para manejar textos en inglés, ya que no incluye acentos ni caracteres especiales de otros idiomas.
-  * **ANSI**: Amplían el estándar ASCII a 8 bits. Sin embargo hay distintas codificaciones ANSI en los nuevos 128 caracteres para distintos idiomas como ruso o griego. Es decir es como que hay distintos estándares ANSI llamados ISO-8859-//x//.+  * **ANSI**: Amplían el estándar ASCII a 8 bits. Sin embargo hay distintas codificaciones ANSI en los nuevos 128 caracteres para distintos idiomas como ruso o griego. Es decir es como que hay distintos estándares ANSI llamados ISO-8859-//x//. Por ejemplo hay un estándar ANSI para el griego (ISO 8859-7), otro para el cirílico (ISO 8859-5) , etc. Y son distintos en los 128 caracteres últimos. Cada uno de estos estándares se llama //Pagina de código//.
   * **Windows**: Windows tiene sus propio estándar que es muy similar al ANSI   * **Windows**: Windows tiene sus propio estándar que es muy similar al ANSI
  
 ^  Página de código  ^  ANSI  ^  Similar en Windows  ^ ^  Página de código  ^  ANSI  ^  Similar en Windows  ^
-|  Latin 1  |  ISO 8859-1  |  Windows-1252 (Incluye el € como ''0xE2''  |+|  Latin 1  |  ISO 8859-1  |  Windows-1252 (Incluye el € como ''0x80''  |
 |  Griego  |  ISO 8859-7  |  Windows-1253  | |  Griego  |  ISO 8859-7  |  Windows-1253  |
 |  Cirílico  |  ISO 8859-5  |  Windows-1251  | |  Cirílico  |  ISO 8859-5  |  Windows-1251  |
Línea 250: Línea 250:
  
  
 +^  ISO 8859-1  ^^
 +^  Carácter  ^  Code Point  ^
 +|  á  |  ''0xE1''  |
 +|  é  |  ''0xE9''  |
 +|  í  |  ''0xED''  |
 +|  ó  |  ''0xF3''  |
 +|  ú  |  ''0xFA''  |
 +|  ñ  |  ''0xD1''  |
 +
 +
 +<note important>
 +En la web, realmente el ISO 8859-1 es el mismo que el Windows-1252. Véase:[[https://stackoverflow.com/questions/19109899/what-is-the-exact-difference-between-windows-1252-and-iso-8859-1|What is the exact difference between Windows-1252 and ISO-8859-1?]]
 +
 +> Windows-1252 is commonly known as Windows Latin 1 or as Windows West European or something like that. It differs from ISO Latin 1, also known as ISO-8859-1 as a character encoding, so that the code range 0x80 to 0x9F is reserved for control characters in ISO-8859-1 (so-called C1 Controls), wheres in Windows-1252, some of the codes there are assigned to printable characters (mostly punctuation characters), others are left undefined.
 +
 +> ANSI comes here as a misnomer. Microsoft once submitted Windows-1252 to American National Standards Institute (ANSI) to be adopted as a standard; the proposal was rejected, but Microsoft still calls their code “ANSI”. For further confusion, they may use “ANSI” for different encodings (basically, the “native 8-bit encoding” of a Windows installation).
 +
 +> In the web context, **declaring ISO-8859-1 will be taken as if you declared Windows-1252**. The reason is that C1 Controls are not used, or useful, on the web, whereas the added characters are often used, even on pages mislabelled as ISO-8859-1. So in practical terms it does not matter which one you declare.
 +
 +> There might still be some browsers that actually interpret data as ISO-8859-1 if declared so, but they must be very rare (the last I remember seeing was a version of Opera about ten years ago).
 +
 +</note>
  
 ==== UTF-8 ==== ==== UTF-8 ====
Línea 271: Línea 293:
 |  ñ  |  ''U+00F1''  |  ''C3 B1''  |  ñ  | |  ñ  |  ''U+00F1''  |  ''C3 B1''  |  ñ  |
 |  💩  |  ''U+1F4A9''  |  ''F0 9F 92 A9''  |  💩  | |  💩  |  ''U+1F4A9''  |  ''F0 9F 92 A9''  |  💩  |
 +
 +
 +En caso contrario , que tengamos un texto en ANSI y digamos que es ''utf-8'' puede ocurrir que algunos carácteres no se puedan mostrar , en ese caso se muestra es carácter � ''U+FFFD''.
  
 Mas información: Mas información:
   * {{ :clase:daw:daw:1eval:the_absolute_minimum_every_software_developer_must_know_about_unicode_in_2023.pdf |The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!)}}   * {{ :clase:daw:daw:1eval:the_absolute_minimum_every_software_developer_must_know_about_unicode_in_2023.pdf |The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!)}}
   * [[https://learn.microsoft.com/es-es/windows/win32/intl/code-page-identifiers|Identificadores de página de códigos en Windows]]   * [[https://learn.microsoft.com/es-es/windows/win32/intl/code-page-identifiers|Identificadores de página de códigos en Windows]]
 +  * [[https://www.iana.org/assignments/character-sets/character-sets.xhtml|IANA Character Sets]]
  
 ===== Ejercicios ===== ===== Ejercicios =====
clase/daw/daw/1eval/tema01.1729185720.txt.gz · Última modificación: 2024/10/17 19:22 por admin