User Tools

Site Tools


proyecto:armar_la_aplicacion_inicial

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
proyecto:armar_la_aplicacion_inicial [2022/04/20 06:30] ahoganproyecto:armar_la_aplicacion_inicial [2023/04/27 20:10] (current) sferrada
Line 1: Line 1:
 ====== Armar la Aplicación ====== ====== Armar la Aplicación ======
- 
-OJO: en cualquier parte del tutorial donde se mencione XX, este es el NÚMERO DE LA MÁQUINA, no su número de grupo. 
  
 ===== Objetivo ===== ===== Objetivo =====
Line 8: Line 6:
  
    * Como fue mencionado antes, hay que tener al menos tres consultas demostrando una mezcla de rasgos de SQL, es decir, joins, consultas anidadas, agregación, etc.     * Como fue mencionado antes, hay que tener al menos tres consultas demostrando una mezcla de rasgos de SQL, es decir, joins, consultas anidadas, agregación, etc. 
 +   * Al menos dos de las consultas deberían incluir uno o más parámetros ingresados por el usuario de la aplicación web.
    * No es necesario tener todos los rasgos en todas las consultas. La idea es que se demuestren los rasgos en alguna consulta. Se puede empezar con una consulta simple.    * No es necesario tener todos los rasgos en todas las consultas. La idea es que se demuestren los rasgos en alguna consulta. Se puede empezar con una consulta simple.
    * Es importante usar indices, vistas, etc., para optimizar las consultas.    * Es importante usar indices, vistas, etc., para optimizar las consultas.
Line 26: Line 25:
 <code> <code>
 CREATE USER webuser WITH PASSWORD 'contrasena'; CREATE USER webuser WITH PASSWORD 'contrasena';
 +GRANT CONNECT ON DATABASE cc3201 TO webuser;
 GRANT USAGE ON SCHEMA proyecto TO webuser; GRANT USAGE ON SCHEMA proyecto TO webuser;
 ... ...
Line 32: Line 32:
  
 ... y después usar ''webuser'' y su contraseña en la aplicación. Hay más información sobre [[https://www.postgresql.org/docs/11/static/sql-grant.html|GRANT aquí]]. ... y después usar ''webuser'' y su contraseña en la aplicación. Hay más información sobre [[https://www.postgresql.org/docs/11/static/sql-grant.html|GRANT aquí]].
 +
 +Hay que tener cuidado con consultas como:
 +
 +<code>
 +SELECT * FROM tabla WHERE col = 'val';
 +</code>
 +
 +En particular, esta consulta no ha especificado el esquema, así que Postgres usará el ''SEARCH_PATH'' del usuario para identificar el primer esquema con la relación ''tabla''. Pero ''webuser'' puede tener un ''SEARCH_PATH'' diferente al ''SEARCH_PATH'' de ''cc3201''. Una solución sería definir bien el ''SEARCH_PATH'' de ''webuser'', pero ojo que si cambia el ''SEARCH_PATH'' en el futuro, la aplicación puede dejar de funcionar. Si una consulta va a ser usada durante mucho tiempo (por ejemplo, está codificada en una aplicación), la mejor solución es siempre especificar los esquemas de las tablas (o de las vistas, etc.) referenciadas:
 +
 +<code>
 +SELECT * FROM esquema.tabla WHERE col = 'val';
 +</code>
 +
 +Así funcionará ante cambios al ''SEARCH_PATH'' del usuario de la aplicación.
 ===== Servidor Web ===== ===== Servidor Web =====
  
Line 108: Line 122:
 Para instalar PHP con soporte para apache2 y postgres: Para instalar PHP con soporte para apache2 y postgres:
  
-<code>sudo apt-get install php7.libapache2-mod-php7.php7.3-pgsql</code>+<code>sudo apt-get install php7.libapache2-mod-php7.php7.4-pgsql</code>
  
 Ahora, tenemos que reiniciar Apache: Ahora, tenemos que reiniciar Apache:
Line 1336: Line 1350:
 ==== Opción 4: Algo diferente ==== ==== Opción 4: Algo diferente ====
  
-Se puede usar otra opción para armar la aplicación:+Tienen sudo, así que pueden usar otra opción para armar la aplicación:
  
-  * JSPSpringStruts, Flask, Rails, Zend, etc.+  * FlaskReactAngular, Rails, Spring, etc.
  
 ... pero no podremos ofrecerles soporte si hay problemas. ... pero no podremos ofrecerles soporte si hay problemas.
 +
 +====== Conexión Externa =====
 +
 +Finalmente, se deben configurar los puertos de modo que la aplicación web quede disponible para acceder a través de una URL. Puede encontrar instrucciones de como hacerlo visitando [[proyecto:conexion_externa|este enlace]].
proyecto/armar_la_aplicacion_inicial.1650436253.txt.gz · Last modified: 2022/04/20 06:30 by ahogan