QUÉ ES CGI

Es el sistema más antiguo que existe para la programación de las páginas dinámicas de servidor. Actualmente se encuentra un poco desfasado por diversas razones entre las que destaca la dificultad con la que se desarrollan los programas y la pesada carga que supone para el servidor que los ejecuta.

Los CGI se escriben habitualmente en el lenguaje Perl, sin embargo, otros lenguajes como C, C++ o Visual Basic pueden ser también empleados para construirlos.

El funcionamiento básico de un programa CGI es parecido al apuntado para el conjunto de las páginas dinámicas del servidor, con algunas particularidades.

Se realiza una petición http, a la que pueden acompañar datos llegados o bien por un formulario o bien a través de la URL.

El servidor ejecuta los programas CGI a los que se accede y trabaja con los recursos necesarios para llevar a cabo las acciones, como por ejemplo bases de datos.

El programa CGI va escribiendo en la salida estándar el resultado de la ejecución del CGI, que incluye etiquetas HTML, ya que lo que se escribe es una página web.

Algunas desventajas de la programación en CGI son las siguientes:

Los resultados se escriben directamente con el CGI, así que el código del programa se mezcla con el del HTML haciendo difícil su comprensión y mantenimiento.

Cada programa CGI que se pone en marcha lo hace en un espacio de memoria propio. Así, si tres usuarios ponen en marcha un CGI a la vez se multiplicará por tres la cantidad de recursos que ocupe ese CGI. Esto significa una grave ineficiencia.

Anuncios

LIBRO RECOMENDADO: FUNDAMENTOS DE PROGRAMACIÓN CON EL LENGUAJE DE PROGRAMACIÓN C++ ED. 2017 (VICENTE BENJUMEA, MANUEL ROLDÁN)

En este manual se describen las características básicas del lenguaje C++. Está concebido desde el punto de vista docente, por lo que nuestra intención no es hacer una descripción completa del lenguaje, sino únicamente de aquellas características adecuadas como base para facilitar el aprendizaje en un primer curso de programación. Se supone que el alumno compatibilizará el uso de este manual con las explicaciones del profesor, impartidas en el aula.

El lenguaje de programación C++ es un lenguaje muy flexible y versátil. Debido a ello, si se utiliza sin rigor puede dar lugar a construcciones y estructuras de programación complejas, difíciles de comprender y propensas a errores. Por este motivo, restringiremos tanto las estructuras a utilizar como la forma de utilizarlas.

https://drive.google.com/open?id=0B4AoAxhlob6VMkhGRHRIUExaTzA

LIBRO RECOMENDADO: ESTRUCTURA DE DATOS EN C++ (LUIS JOYANES Y IGNACIO ZAHONERO)

Contenido:

Prólogo

Capítulo 1. Desarrollo de software. Tipos abstractos de datos

Capítulo 2. Clases y objetos

Capítulo 3. Tipos de datos básicos: Arrays, cadenas, estructuras y tipos enumerados

Capítulo 4. Clases derivadas: herencia y polimorfismo

Capítulo 5. Genericidad: plantillas (templates)

Capítulo 6. Análisis y eficiencias de algoritmos

Capítulo 7. Algoritmos recursivos

Capítulo 8. Algoritmos de ordenación y búsqueda

Capítulo 9. Algoritmos de ordenación de archivos

Capítulo 10. Listas

Capítulo 11. Pilas

Capítulo 12. Colas

Capítulo 13. Colas de prioridades y montículos

Capítulo 14. Tablas de dispersión, funciones hash

Capítulo 15. Biblioteca estándar de plantillas (STL)

Capítulo 16. Árboles. Árboles binarios y árboles ordenados

Capítulo 17. Árboles de búsqueda equilibrados. Árboles B

Capítulo 18. Grafos

Índice analítico

https://drive.google.com/open?id=0B4AoAxhlob6VbUFCUmxVcEVrbUE

Estructura.de.datos.en.C++.Joyanes WWW.FREELIBROS.ORG.jpg

LIBRO RECOMENDADO: DISEÑO DE ALGORITMOS Y SU CODIFICACIÓN EN LENGUAJE C (MARÍA ADRIANA CORONA NAKAMURA & MARÍA DE LOS ÁNGELES ANCONA VALDEZ)

Es sabido que la interacción que tenemos con la computadora se da por medio de programas. La finalidad de este texto es que el lector sea capaz de elaborar programas a la medida de cualquier problema que enfrente, sin importar el área de aplicación. Lo anterior puede parecer complicado, sobre todo para los alumnos de las carreras que no son afines, incluso hay quienes llegan a considerar la materia como poco importante para su formación. Por ello, en este libro queremos demostrar que:

  • Programar es una tarea fácil.
  • La práctica fortalece la habilidad de programar.
  • La programación es útil para todas las áreas del conocimiento.

El razonamiento de las computadoras es diferente al de los seres humanos, es por ello que a quienes comienzan a programar les resulta una tarea difícil. El primer paso es no desesperarse, después se debe entender cómo razonan los humanos y posteriormente analizar cómo lo haría una computadora. Es importante hacer hincapié en que la parte más compleja de este proceso es el desarrollo de un algoritmo (diagrama de flujo o pseudocódigo), ya que constituye la parte lógica. Codificar, independientemente del lenguaje, es simplemente trascribir un algoritmo al lenguaje respectivo. El concepto de algoritmo lo utilizamos, en general, todas las disciplinas basadas en las matemáticas y la física, por ende en la programación, y es la etapa previa a la codificación.

Para llevar a cabo un programa necesitamos de un lenguaje de programación. Existen diferentes tipos, y en este libro nos enfocaremos específicamente en el lenguaje C estándar. También hay una gran variedad de compiladores, aquí utilizaremos tres de ellos: Turbo C, DEV-C11 y CodeBlocks; que son los más utilizados actualmente. Cabe destacar que todos los ejercicios presentados en el texto fueron probados en los compiladores antes citados.

En este trabajo se pensó en manejar de manera paralela el diagrama de flujo, el pseudocódigo y el lenguaje C, debido a la dificultad que existe entre los alumnos para realizar la conversión de la parte algorítmica al código (lenguaje C en nuestro caso).

Diseño de algoritmos y su codificación en lenguaje C introduce los conceptos fundamentales de la programación, especialmente en el diseño de algoritmos, la programación estructurada y la codificación en lenguaje C. Con esta obra el lector recibe una orientación básica y fundamental en dicha área.

https://drive.google.com/open?id=0B4AoAxhlob6VQmZzQjUzaEFCbDA

diseodealgoritmosysucodificacinenlenguajec-140228122614-phpapp01-thumbnail-4