Sobre el proyecto
7days-golang es un repositorio educativo mantenido por geektutu bajo licencia MIT. Su objetivo es ayudar a los desarrolladores a comprender los principios internos de herramientas comunes de Go mediante la implementación progresiva en 7 días. Cada subproyecto está organizado por días e incluye artículos en el sitio web del autor.
Contiene cuatro subproyectos principales:
1. Gee Web Framework (gee-web): Un framework web inspirado en gin. Los siete días cubren: interfaz http.Handler, diseño de Context, enrutamiento basado en Trie, agrupación de rutas, middleware, plantillas HTML, y manejo de pánicos para robustez.
2. GeeCache (gee-cache): Un sistema de caché distribuida inspirado en groupcache. Incluye: política de expulsión LRU, caché concurrente local, servidor HTTP, hash consistente, comunicación entre nodos, singleflight para evitar avalanchas, y uso de Protobuf para intercambio de datos.
3. GeeORM (gee-orm): Un framework ORM que toma referencias de xorm y gorm. Los siete días abarcan: conceptos básicos de database/sql, mapeo objeto-tabla, inserción y consulta de registros, operaciones encadenadas, actualización y eliminación, hooks, soporte de transacciones, y migración de bases de datos.
4. GeeRPC (gee-rpc): Un framework RPC basado en net/rpc de la biblioteca estándar, con aproximadamente 1k líneas de código. Añade: intercambio de protocolos, registro y descubrimiento de servicios, balanceo de carga, manejo de tiempos de espera, y soporte de depuración HTTP. Los días cubren: codificación de mensajes, cliente concurrente y asíncrono, registro de servicios, manejo de timeouts, soporte HTTP, balanceo de carga, y descubrimiento de servicios.
Además, el repositorio incluye cuatro ejemplos de WebAssembly (demo-wasm) que muestran Hello World, funciones registradas, manipulación del DOM y callbacks, acompañados del tutorial "Go WebAssembly简明教程".
El autor recomienda materiales complementarios como "Go语言简明教程", "Go语言笔试面试题" y "Go语言高性能编程", sugiriendo que los lectores tengan conocimientos básicos de sintaxis Go, programación concurrente y gestión de dependencias antes de comenzar. Este repositorio es ideal para estudiantes de Go que deseen profundizar en frameworks web, caché distribuida, ORM y RPC mediante la lectura y escritura de código fuente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.