Gratis

Dasar Pemrograman Golang

5.0 (1 rating) 279 members

Gratis

Noval Agung Prayogo

Author of This Ebook

wave
wave

Golang, atau Go adalah bahasa pemrograman yang lahir di tahun 2009. Golang memiliki banyak kelebihan, terbukti dengan banyaknya perusahaan besar yang menggunakan bahasa ini dalam pengembangan produk-produk mereka, hingga level production tentunya.

Ebook ini merupakan salah satu dari sekian banyak referensi yang bisa dijadikan bahan belajar pemrograman Go. Topik-topik yang disediakan sangat bervariasi mulai dari hal yang basic (dari 0), hingga bab yang sifatnya advance.

Ada total sekitar 110 bab yang dibahas dalam ebook ini. Bab-bab tersebut dibagi menjadi 4 kategori besar yang berurutan dan berkesinambungan satu sama lain.

  1. Pemrograman Go Dasar. Pada bagian ini topik yang dibahas sangat dasar, cocok untuk orang yang belum pernah tau atau belum menggunakan bahasa Go. Pembahasan dimulai dari instalasi, eksekusi, hello word, dilanjutkan dengan topik seperti pembahasan beberapa keyword Go, pointer, struct, interface, reflect, goroutine, channel, date time, dan lainnya.
  2. Pemrograman Web Go Dasar. Pada bagian ini kita akan fokus belajar ilmu dasar yang diperlukan untuk pengembangan aplikasi web menggunakan Go, diantaranya seperti: routing, multiplexer, middleware, cookie, dan lainnya. Pada bab ini kita tidak menggunakan framework atau library external, hanya menggunakan API internal yang disediakan Go saja.
  3. Pemrograman Go Lanjut. Di bagian ini akan mulai dibahas topik yang lebih advance, beberapa diantaranya akan menggunakan library-library Go yang sudah cukup terkenal di komunitas. Topik-topik tersebut antara lain: http, ssl, cors, crsf, mail, pdf, excel, ftp, ssh, web socket, protobuf, gRPC + protobuf, atau topik advance web atau non-web lainnya.
  4. Studi Kasus. Di bagian ini akan dibahas mengenai Proof of Concept dari problem solving kasus penerapan aplikasi Go di real project.

Versi e-book: 2.2021.04.04.112531, dan versi Go 1.14.

Author

Ebook ini dibuat oleh Noval Agung Prayogo. Untuk pertanyaan, kritik, dan saran, silakan drop email ke caknopal@gmail.com.


    Pendahuluan

  • Cover
  • Dasar Pemrograman Golang

    A. Pemrograman Go Dasar

  • A.1. Belajar Golang
  • A.2. Instalasi Golang
  • A.3. Setup Go Modules
  • A.4. Setup GOPATH Dan Workspace
  • A.5. Instalasi Editor
  • A.6. Go Command
  • A.7. Program Pertama: Hello World
  • A.8. Komentar
  • A.9. Variabel
  • A.10. Tipe Data
  • A.11. Konstanta
  • A.12. Operator
  • A.13. Seleksi Kondisi
  • A.14. Perulangan
  • A.15. Array
  • A.16. Slice
  • A.17. Map
  • A.18. Fungsi
  • A.19. Fungsi Multiple Return
  • A.20. Fungsi Variadic
  • A.21. Fungsi Closure
  • A.22. Fungsi Sebagai parameter
  • A.23. Pointer
  • A.24. Struct
  • A.25. Method
  • A.26. Properti Public dan Private (Exported vs Unexported)
  • A.27. Interface
  • A.28. Interface Kosong
  • A.29. Reflect
  • A.30. Goroutine
  • A.31. Channel
  • A.32. Buffered Channel
  • A.33. Channel - Select
  • A.34. Channel - Range dan Close
  • A.35. Channel - Timeout
  • A.36. Defer & Exit
  • A.37. Error, Panic, dan Recover
  • A.38. Layout Format String
  • A.39. Random
  • A.40. Time, Parsing Time, & Format Time
  • A.41. Timer, Ticker, & Scheduler
  • A.42. Time Duration
  • A.43. Konversi Antar Tipe Data
  • A.44. Fungsi String
  • A.45. Regex
  • A.46. Encode - Decode Base64
  • A.47. Hash SHA1
  • A.48. Arguments & Flag
  • A.49. Exec
  • A.50. File
  • A.51. Web Server
  • A.52. URL Parsing
  • A.53. JSON Data
  • A.54. Web Service API Server
  • A.55. Simple Client HTTP Request
  • A.56. SQL
  • A.57. NoSQL MongoDB
  • A.58. Unit Test
  • A.59. WaitGroup
  • A.60. Mutex
  • A.61. Go Vendoring
  • A.62. Concurrency Pattern: Pipeline
  • A.63. Concurrency Pattern: Simplified Fan-out Fan-in Pipeline
  • A.64. Concurrency Pattern: Context Cancellation Pipeline

    B. Pemrograman Web Go Dasar

  • B.1. Golang Web App: Hello World
  • B.2. Routing http.HandleFunc
  • B.3. Routing Static Assets
  • B.4. Template: Render HTML Template
  • B.5. Template: Render Partial HTML Template
  • B.6. Template: Actions & Variables
  • B.7. Template: Functions
  • B.8. Template: Custom Functions
  • B.9. Template: Render Specific HTML Template
  • B.10. Template: Render HTML String
  • B.11. HTTP Method: POST & GET
  • B.12. Form Value
  • B.13. Form Upload File
  • B.14. AJAX JSON Payload
  • B.15. AJAX JSON Response
  • B.16. AJAX Multiple File Upload
  • B.17. Download File
  • B.18. HTTP Basic Authentication
  • B.19. Middleware http.Handler
  • B.20. Custom Multiplexer
  • B.21. HTTP Cookie
  • B.22. Simple Configuration
  • B.23. Server Handler HTTP Request Cancellation

    C. Pemrograman Go Lanjut

  • C.1. Echo Framework & Routing
  • C.2. Parsing HTTP Request Payload (Echo)
  • C.3. HTTP Request Payload Validation (Validator v9, Echo)
  • C.4. HTTP Error Handling (Validator v9, Echo)
  • C.5. Template Rendering in Echo
  • C.6. Advanced Middleware & Logging (Logrus, Echo Logger)
  • C.7. CLI Flag Parser (Kingpin v2)
  • C.8.A. Advanced Configuration Menggunakan Viper
  • C.8.B. Best Practice Configuration Menggunakan Environment Variable
  • C.9. Secure Cookie (Gorilla Securecookie)
  • C.10. Session (Gorilla Session)
  • C.12. CORS & Preflight Request
  • C.13. CSRF
  • C.14. Secure Middleware
  • C.15. HTTP Gzip Compression (gziphandler)
  • C.16. Send Mail (`net/smtp`, Gomail v2)
  • C.17. Read & Write Excel XLSX File (Excelize)
  • C.18. Write PDF File (gofpdf)
  • C.19. Convert HTML to PDF (go-wkhtmltopdf)
  • C.20. Scraping & Parsing HTML (goquery)
  • C.21. Parse & Generate XML (etree)
  • C.22. HTTPS/TLS Web Server
  • C.23. HTTP/2 dan HTTP/2 Server Push
  • C.24. Advanced Client HTTP Request
  • C.25. Secure & Insecure Client HTTP Request
  • C.26. FTP
  • C.27. SSH & SFTP
  • C.29. Protobuf
  • C.30. gRPC + Protobuf
  • C.32. JSON Web Token (JWT)
  • C.33. LDAP Authentication
  • C.34. SSO SAML 2.0 (Service Provider)
  • C.35. Dockerize Aplikasi Golang

    D. Studi Kasus

  • D.1. Insert 1 Juta Data dari File CSV Ke Database Server, Menggunakan Teknik Worker Pool, Database Connection Pool, dan Mekanisme Failover.
  • D.2. Google API Search Dengan Timeout
  • D.3. Web Socket: Chatting App

Dapatkan ebook sekarang untuk dapat mengikuti pembelajaran

BENEFIT


Ebook

Souce Code

Update Materi

Akses Selamanya

ULASAN MEMBERS

semoga berkah ilmu yg dibagikan

Didi Triawan