Aplicaciones de desarrollo web en la programación Go: bienvenidos a mi próximo blog, compañeros programadores go. En este blog, hablaremos sobre el increíble lenguaje Golang de Google. En mi blog anterior, es posible que haya visto cómo Golang ha evolucionado a lo largo de los años y ha dado una dura competencia a Java y C ++. Pero en este blog, estaríamos hablando de sus aplicaciones en el mundo real. Golang es el lenguaje de programación oficial de Google.

Google ha mantenido su licencia de código abierto. Significa que cualquiera puede modificarlo, copiarlo, pegarlo o cambiarlo según sus necesidades. Golang es un lenguaje de programación de alto nivel. Aunque Go tiene muchas características similares a C o Java, apenas se parece a C o Java.

Logotipo oficial de Go Lang

De hecho, Go Programming estaba destinado a ser un lenguaje, que podría ser una combinación de Python, C y Java. Aunque nunca puede reemplazar estos lenguajes, pero otros lenguajes no pueden hacer lo que Go puede hacer, y para decir la verdad, en realidad es mucho más rápido que C o Python. Ya basta de cómo funciona la programación GO ahora, veamos sus aplicaciones en el mundo real, además de ser de gran ayuda para Google, y cómo realmente ha dominado el mundo del desarrollo web.

A lo largo de este blog, supondré que tienes algunos conocimientos básicos en programación C, Java o al menos Django. Si no es así, puede leer mis otros blogs para comprenderlo mejor y luego regresar aquí y continuar con este.

Los ejemplos del lenguaje de programación Go-

Origen de GO

Recuerde que le dije que Go recibió sus características de lenguajes de desarrollo web como C y python, pero la verdad es que en realidad tomó mucho más que solo características. Tiene la agilidad de la velocidad de compilación de Python sin perder la polaridad segura de C. Las compilaciones en miniatura de GO son perfectas, por ejemplo, puede compilar programas grandes en solo segundos. Las velocidades de estos códigos de bytes son casi similares a las de los C's.

La razón principal por la que GO Programming se desarrolló porque Google tenía servidores críticos de datos muy grandes y los programadores invirtieron, o el mejor término se desperdiciaría, mucho tiempo esperando que los programas se compilaran. A pesar de que el código fue compilado y paralelo, aún tomó mucho tiempo construir un solo programa.

Incluso las compilaciones incrementales eran lentas (las compilaciones incrementales significan solo actualizar las compilaciones antiguas con nuevas funciones o eliminar sus errores). Fue entonces cuando se dieron cuenta de que necesitaban algo diferente, algo con el poder de C y la velocidad de python. También decidieron que las herramientas utilizadas en estos sistemas básicos de lenguaje eran lentas.

Así que querían comenzar algo desde cero, algo para escribir ese tipo de programas que necesitaban escribir en Google de manera que las compilaciones pudieran ser realmente inteligentes y cortas sin perder su eficiencia.

Desarrollo web, concurrencias y GO

Ahora la cuestión es, ¿cómo funciona el desarrollo web con GO? ¿Cómo se beneficia de su concurrencia? En teoría, con el procesamiento paralelo, los recursos del servidor podrían aprovecharse mejor. Por ejemplo, si ejecuta 2 consultas sql independientes en paralelo, dará una respuesta rápida. ¿No es esto asombroso?

Ahora echemos un vistazo a esto al revés

Normalmente, cuando escuchas la palabra concurrencia, comienzas a pensar que puedes trabajar en múltiples hilos a la vez. Pero no somos profesionales extremos, para que nuestro código sea perfecto. Entonces, una forma más precisa de decir esto sería que, en lugar de realizar múltiples tareas, en realidad podría terminar simplemente destrozando las cosas a su alrededor.

Por lo tanto, esto desafortunadamente desarrolla muchos problemas en nuestro camino, lo que en realidad no es bueno porque la concurrencia puede conducir a una mejor disposición visual y un código más claro. En resumen, se puede confiar en él por una razón, que no desearía: bajo rendimiento. Pero, a pesar de todo esto, en realidad estamos ignorando la parte principal. Si realmente tenemos un buen conjunto de hardware, o técnicas informáticas más rápidas para ser más precisos, GO realmente funcionaría más rápido en un entorno de procesador multinúcleo.

Ahora echemos un vistazo a cómo GO es diferente de otros idiomas. Entonces, lo que debemos hacer es el primer paso: elegir cualquier estado mutable global que desee cambiar, luego el segundo paso: implementar el bloqueo. Ahora, esta es una combinación de dos pasos apropiados y dos cosas incorrectas. Los desarrolladores que tienen una experiencia decente estarían de acuerdo conmigo en que el estado mutable global es algo malo.

De hecho, muchos codificadores intentan eliminar esto de la mejor manera posible. Entonces, el primer hecho de que tiene el primer paso parece que es una refactorización para comenzar. El paso dos, por otro lado, es decir, el bloqueo, es capaz de lograr su objetivo, pero al mismo tiempo introduce cantidades gigantescas de repetitivo que es extremadamente difícil de escribir de manera adecuada y luego depurarlo correctamente.

Por lo tanto, este tipo de idiomas podría tener una solicitud http que lea una variable específica y otra que la escriba. ¿Qué pasó cuando? ¿Es lo suficientemente importante? ¿Necesita un orden para las lecturas y escrituras? ¿Tu código tiene esta lógica? Si es así, ¿por qué?

Cursos recomendados

  • Linux profesional con entrenamiento en Python
  • Programa de gestión de nivel de servicio
  • Curso de certificación en línea en jQuery Mobile
  • Entrenamiento completo de inteligencia de negocios

El camino a seguir

Los hilos de GO no son lo que usted podría estar acostumbrado al escribir estos núcleos. Estos son en realidad algo similares a los procesos de Erlang. Son extremadamente ligeros y ambos tienen objetivos similares. Esto no dice que GO y Erlang sean iguales, ya que tienen muchas diferencias propias.

Concurrencia y los canales; ambos van de la mano en la programación GO. Sin embargo, se puede decir que estos canales tienen la potencia real para hacer que nuestras automatizaciones funcionen. Y debido a esta naturaleza, evitan que las rutinas en GO se dupliquen. Nuf dijo, ahora puede ejecutar sus códigos sin la ayuda de cerraduras y mutexes. Si tienes tiempo para buscar en Google, encontrarás a muchas personas probando los mismos métodos en forma de tuberías UNIX.

Creación de aplicaciones GO nativas

Ahora que sabemos cómo funciona GO, echemos un vistazo a la construcción de algunas aplicaciones básicas en GO. Veamos primero los requisitos previos:

  1. Descargue el instalador de go desde el sitio web oficial de go (puede obtenerlo buscando descargar golang)
  1. Establezca el GOPATH (esta es la parte más difícil si nunca ha establecido variables de entorno en su vida)

a. Para usuarios de Windows:

establecer GOROOT = C: \ go

establecer GOPATH = C: \ Users \ testdir

establecer GOBIN = % GOPATH% \ bin

establecer RUTA = % RUTA%; c: \ go \ bin;% GOBIN%

cd % GOPATH% \ src

En la opción testdir anterior, configure el directorio que desea usar ( asígnele el nombre que desee) como el directorio de trabajo. Esto establecerá todos los directorios y cuando escriba el último comando cd (cambiar firectory), debería llevarlo al directorio de trabajo predeterminado, es decir, en nuestro caso su testdir. Si lo hace, significa que funciona.

si. Para usuarios de Linux:

export GOROOT = / usr / local / go

export GOPATH = $ HOME / go

export PATH = $ PATH: $ GOROOT / bin: $ GOPATH / bin

Los siguientes son los paquetes requeridos que necesitaría descargar (estos son opcionales, depende de lo que necesite construir):

Puede instalar (o actualizar) estos paquetes ejecutando el siguiente comando en su consola:

ve a buscar -u

Por ejemplo, si desea instalar Negroni, puede usar el siguiente comando:

ir a -u github.com/codehub/negroni

Para mí, construir aplicaciones web significa construir servidores Http. El protocolo Http o Hypertext Transfer es un protocolo que se creó originalmente para transportar solo documentos HTML específicos del usuario desde un servidor específico a un navegador web del lado del cliente. A partir de hoy, Http se utiliza para transportar más que solo textos simples.

No voy a profundizar en realidad, puedes consultar github donde puedes encontrar más detalles sobre este proyecto.

Ahora, para comenzar, comencemos creando un nuevo proyecto en nuestro GOPATH

cd GOPATH / src

servidor de pruebas mkdir

servidor de pruebas de cd

Ahora, podemos crear un main.go escribiendo:

paquete principal

importar "net / http"

func main () (

)

Ahora, como todo está configurado, todo lo que tenemos que hacer es importar el paquete http, y luego funcionará. Y ahora, es hora de escribir nuestro código de servidor de prueba:

http.ListenAndServe (": 2964", http.FileServer (http.Dir (".")))

Http.ListenAndServer es una función utilizada para ejecutar el servidor. Se ejecutará en la dirección que se le proporcione, es decir, el puerto 2964 en este caso, y cuando reciba una respuesta, lo transferirá al controlador http que proporcionamos como segundo argumento, que nuevamente en este caso es el http incorporado -Servidor de archivos.

Creamos el http.Handler con el http.FileServer que actuará como un servidor para un directorio completo de archivos y responderá automáticamente con el archivo que debe ser servido en la ruta de solicitud. En cuanto a este código que ejecutamos anteriormente, le dijimos al servidor que respondiera con el directorio de trabajo actual, es decir, http.Dir (".")

Todo el programa se verá así:

paquete principal

importar "net / http"

func main () (

http.ListenAndServe (": 2964", http.FileServer (http.Dir (".")))

)

Ahora, para ejecutar y hacer que nuestro servidor de archivos esté activo, podemos ejecutarlo cuando queramos escribiendo:

ir a construir

./testserver

Y ahora, si abrimos esto en nuestro navegador localhost: 2964 / main.go o http: // 127.0.0.1:2964/main.go, deberíamos poder ver los paquetes dentro de nuestro archivo main.go en nuestra web navegador. La mejor parte es que podemos ejecutar este programa desde cualquier lugar dentro de nuestra computadora y servir ese directorio como la página de inicio básica para el host local. Todo esto es posible en una sola línea de programación Go.

Hablando de eso, en realidad debería revisar las aplicaciones web desarrolladas en github, y se sorprenderá al ver lo que todas las aplicaciones que la gente ha desarrollado con la programación GO. El lenguaje GO es más que tu programación habitual. Una vez que domine este lenguaje, es muy poco probable que realmente vuelva a su C, C ++ o Java normal. Entonces, eso será todo por ahora. Estén atentos para más información sobre la programación GO.

Primera fuente de imagen: pixabay.com

Artículos relacionados:-

  1. Debe conocer las preguntas y respuestas de la entrevista de servicios web
  2. Los mejores y más útiles puntos de las preguntas de la entrevista de Java Web Services
  3. Nuevas herramientas de desarrollo web de 10 beneficios para principiantes (gratis)
  4. Importante sobre ejemplos de programación Scratch
  5. ¿Cómo construir una carrera excelente como profesional de software de desarrollo web?
  6. Desarrollo de Software vs Desarrollo Web