Skip to content

Commit

Permalink
traduccion capitulo 13 y 14, acabegit add .git add .git add .
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosjml4 committed Jun 17, 2014
1 parent 2507b54 commit 0661757
Show file tree
Hide file tree
Showing 14 changed files with 287 additions and 274 deletions.
6 changes: 3 additions & 3 deletions eBook/13.0.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# 13 Build a web framework
# 13 Construir un framework web

Preceding twelve chapter describes how to develop Web applications through Go, introduced a lot of basic knowledge, development tools and techniques, then we pass this knowledge in this chapter to implement a simple Web framework. Go language to achieve through a complete frame design, the main contents of this framework, the first section describes the structure of a Web framework planning, such as using the MVC pattern to develop, program execution process design, etc.; second section describes the framework the first feature: Routing, how to get access to the URL mapped to the corresponding processing logic; third section describes the processing logic, how to design a common controller, object inheritance after the handler how to handle response and request; fourth section describes how to framework some auxiliary functions, such as log processing, configuration information, etc.; fifth section describes how to implement a blog-based Web framework, including Bowen published, modify, delete, display a list of other operations.
Precediendo doce capítulos que describen cómo desarrollar aplicaciones Web a través de Go, se introdujo una gran cantidad de conocimientos, herramientas y técnicas básicas de desarrollo, entonces se pasa este conocimiento en este capítulo para implementar un marco Web simple en Go para lograr a través de un diseño de marco completo, el contenido principal de este marco, la primera sección se describe la estructura de un marco de planificación Web, como el uso del patrón MVC para desarrollar, diseñar proceso de ejecución del programa, etc; segunda sección describe el marco de la primera característica: Routing, cómo acceder a la URL asignada a la lógica de procesamiento correspondiente; tercera sección describe la lógica de procesamiento, cómo diseñar un controlador común, objeto de herencia después del manejador cómo manejar la respuesta y la petición; cuarta sección describe la forma de marco algunas funciones auxiliares, tales como el procesamiento de registros, información de configuración, etc; quinta sección se describe cómo implementar un marco basado en la Web blog, incluyendo Bowen publicó, modificar, eliminar, mostrar una lista de otras operaciones.

Through such a complete project example, I expect to be able to allow readers to understand how to develop Web applications, how to build your own directory structure, how to achieve routing, how to achieve the MVC pattern and other aspects of developing content. In the framework prevalent today, MVC is no longer a myth. Many programmers often heard discussions which frame is good, which frame is not good, in fact, the framework is only a tool, there is no good or bad, only suitable or unsuitable, for his is the best, so we write their own framework for the church, then different needs can use their own ideas to be realized.
A través de un ejemplo de proyecto tan completo, espero ser capaz de permitir a los lectores a entender cómo desarrollar aplicaciones Web, cómo construir su propia estructura de directorios, cómo lograr el enrutamiento, cómo lograr el patrón MVC y otros aspectos del desarrollo de contenidos. En el marco común hoy en día, MVC ya no es un mito. Muchos programadores a menudo escuchan discusiones que marco es bueno, lo que marco no es bueno, de hecho, el marco es sólo una herramienta, no hay nada bueno o malo, sólo apto o no apto, pero la suya es la mejor, así que escribir un propio marco , y luego diferentes segun las necesidades pueden utilizar sus propias ideas a hacerse realidad.

## Links

Expand Down
51 changes: 29 additions & 22 deletions eBook/13.1.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# 13.1 Project program
# 13.1 Proyecto de programa

Need to do anything good plan, then we in the development blog system, also need to do the planning, how to set up the directory structure, how to understand the flow of the project, when we understand the execution of the application process, then the next the design becomes relatively easy to code
Necesidad de hacer un buen plan de la nada, entonces en el sistema de blog de desarrollo, también tenemos que hacer la planificación, cómo configurar la estructura de directorios, la manera de entender el flujo del proyecto, cuando entendemos la ejecución del proceso de solicitud, a continuación, el siguiente, el diseño se convierte en relativamente fácil de código

## GOPATH and project settings
## Ajustes GOPATH y proyectos

Suponiendo que el nombre del directorio especificado ordinariamente en GOPATH del sistema de archivos, por supuesto, se puede configurar fácilmente un nombre de directorio, entonces su camino hacia GOPATH. GOPATH descrito anteriormente puede haber varios directorios: establecer la variable de entorno en el sistema de ventanas; en el sistema linux / MacOS, siempre y cuando el comando de terminal de entrada gopath exportación = / home / astaxie / gopath , pero debe asegurarse de que el código de abajo GOPATH tres directorios directorio pkg, bin, src. Nuevo proyecto de código fuente en el directorio src, ahora tentativamente nuestro directorio de blogs llamado beeblog, el siguiente está en las variables de entorno de ventanas y la estructura de directorios de pantalla:

Assuming that the file system specified GOPATH ordinary directory name, of course, we can easily set up a directory name, then its path into GOPATH. GOPATH described earlier can be multiple directories: set the environment variable in the window system ; in linux/MacOS system as long as the input terminal command `export gopath =/home/astaxie/gopath`, but must ensure that GOPATH the code below three directories pkg directory, bin, src. New Project source code in src directory, now tentatively our blog directory called beeblog, the following is in the window environment variables and directory structure screenshot:

![](images/13.1.gopath.png?raw=true)

Expand All @@ -14,30 +15,36 @@ Figure 13.1 GOPATH setting environment variables

Figure 13.2 working directory in $ gopath/src under

## Application flowchart
## Diagrama de flujo de Aplicación

Sistema de blog se basa en el modelo - vista - controlador de este patrón de diseño. MVC es una lógica de la capa de aplicación y la separación de la capa de presentación está estructurada. En la práctica, debido a la capa de presentación separada de la salir, por lo que permite que la página incluye solo un pequeño guión.

Blog system is based on the model - view - controller of this design pattern. MVC is a logic of the application layer and the presentation layer separation is structured. In practice, due to the presentation layer separate from the Go out, so it allows your page includes only a small script.
- Modelos (Model) representa la estructura de datos. En términos generales, la clase del modelo contendrá eliminación, inserción, la información de base de datos de actualización, etc Estas funciones.

- Models(Model) represents the data structure. Generally speaking, the model class will contain remove, insert, update database information, etc. These functions.
- View(View) is displayed to the user's information structure and style. A view is usually a web page, but in Go, a view can also be a page fragment, such as page header, footer. It can also be an RSS page, or any other type of " page ", Go template package has been implemented to achieve a good part of the View layer of functionality.
- Controller(Controller) is a model, view, and anything else necessary for processing the HTTP request intermediary between resources and generate web pages.
- Ver (View) se muestra a la estructura de la información del usuario y el estilo. Una vista general es una página web, pero en Go, un punto de vista también puede ser un fragmento de página, como encabezado de página, pie de página. También puede ser una página de RSS, o cualquier otro tipo de "página", Go paquete de la plantilla se ha implementado para lograr una buena parte de la capa de la vista de la funcionalidad.

The following figure shows the framework of the project design is how the data flow throughout the system:
- Controlador (Controller) es un modelo, la vista, y cualquier otra cosa necesaria para la tramitación de la solicitud HTTP intermediario entre los recursos y generar páginas web.
La siguiente figura muestra el marco del diseño del proyecto es cómo fluyen los datos en todo el sistema:

![](images/13.1.flow.png?raw=true)

Figure 13.3 the frame data stream

1. Main.go as an application portal, running blog initialize some basic resources needed, configuration information, listen port.
2. Check the HTTP request routing function, based on the URL and method to determine who( control layer ) to process the request forwarding resources.
3. If the cache file exists, it will bypass the normal process execution, is sent directly to the browser.
4. Safety Testing: The application before the call controller, HTTP requests, and any user submitted data will be filtered.
5. controller loading model, core libraries, auxiliary functions, as well as any treatment other resources required for a particular request, the controller is primarily responsible for handling business logic.
6. Output view layer rendering good to be sent to the Web browser content. If on the cache, the cache is first view, the routine for future requests.
1. Main.go Main.go como un portal de aplicaciones, blog de funcionamiento inicializa algunos recursos básicos necesarios, la información de configuración, puerto de escucha.

2. Comprobar la función de encaminamiento de petición HTTP, en base a la URL y método para determinar que (capa de control) para procesar los recursos de la solicitud de reenvío.

3. Si existe el archivo de caché, se pasará por alto la ejecución del proceso normal, se envía directamente al navegador.

4. Pruebas de seguridad: La demanda ante el controlador de llamadas, peticiones HTTP, y cualquier usuario los datos presentados se filtrará.

5. modelo de controlador de carga, bibliotecas principales, funciones auxiliares, así como cualquier tratamiento de otros recursos necesarios para una petición concreta, el controlador es el principal responsable para el manejo de la lógica de negocio.

6. Ver salida capa prestación bueno que se enviará a los contenidos del navegador Web. Si en la memoria caché, la caché es el primer punto de vista, la rutina para futuras solicitudes.

## Directory structure
## Estructura de directorios

According to the above application process design, blog design the directory structure is as follows:
De acuerdo con el diseño del proceso de la solicitud anterior, el blog diseñar la estructura de directorios es la siguiente:

|——main.go import documents
|——conf configuration files and processing module
Expand All @@ -47,13 +54,13 @@ According to the above application process design, blog design the directory str
|——static static file directory
|——views view gallery

## Frame design
## El diseño del chasis

In order to achieve a quick blog to build, based on the above process design intends to develop a minimization framework, which includes routing capabilities, support for REST controllers, automated template rendering, log system, configuration management, and so on.
Con el fin de lograr un blog rápido para construir, basado en el diseño del proceso de arriba tiene la intención de desarrollar un marco de minimización, que incluye capacidades de enrutamiento, compatibilidad con controladores REST, renderizado plantilla automatizada, sistema de registro, gestión de la configuración, y así sucesivamente.

## Summary
## Resumen

This section describes the blog system to the directory from the setup GOPATH establish such basic information, but also a brief introduction of the framework structure using the MVC pattern, blog system data flow execution flow, and finally through these processes designed blog system directory structure, thus we basically completed a framework to build the next few sections we will achieve individually.
En esta sección se describe el sistema de blog al directorio de la configuración GOPATH establecer esa información básica, sino también una breve introducción de la estructura del marco con el patrón MVC, el flujo de ejecución del flujo de datos del sistema de blog, y, finalmente, a través de estos procesos diseñados estructura de directorios del sistema de blog, así que básicamente completado un marco para construir las próximas secciones vamos a lograr individualmente.

## Links

Expand Down
Loading

0 comments on commit 0661757

Please sign in to comment.