Skip to content

Latest commit

 

History

History
236 lines (158 loc) · 10.7 KB

README.md

File metadata and controls

236 lines (158 loc) · 10.7 KB

go_Laode-Saady

Pengumpulan Tugas Alterra Academy Batch 5

1. Introduction to algrithm and golang

Jadi setelah saya rangkum dari pertemuan ini ada 3 poin

  1. Apa itu algoritma
  2. dasar -dasar algoritma
  3. karakter algoritma

2. Basic Pemogramming

Setelah saya pelajari dan saya rangkum ada beberapa poin penting

  1. Sejarah golang
    • Go pertama dibuah pada tahun 2007 dan dirilis pada tahun 2009 salah satu developernya robert grisemer
  2. Why must go-lang
    • Karena simple , open source dan lain-lain bukan hanya itu banyak big company yang menggunakan go-lang salah satunya Alterra Academy
  3. Variable go-lang
    • Variable pada golang bisa di tulis dengan dua cara pertamavar name string = Laode saady dan cara keduaname := Laode Saady
  4. Operator go-lang
    • Operator dalam golang tidak jauh berbeda dengan bahasa pemograman lainnya (+)tambah, (-)kurang, (/)bagi, (*)perkalian, (%)modulo dan lain-lain
  5. Brancing
    • Brancing atau perbacangan biasa digunakan ketika terjadi satu permasalahan dan menyelesaikannya menggunakan banyak jalan atau cabang bisa menggunakan Brancing agar kondisinya sesuai dengan permasalahan yang kita eksekusikan
  6. Looping
    • Looping atau perulangan dalam golang digunakan dengan cara mengurutkan angka 1 sampai 100 tanpa harus di tulis satu persatu

3. Version Control and Branch Management (Git)

Jadi yang saya pelajari setelah menonton video yang diberikan ada merangkum beberapa point penting

  1. Apa itu git
  2. bagaimana cara membuat repo di github
  3. bagaimana gambaran flow penggunaan git di dunia kerja
  4. bagaimana cara membuat branch dan swith branch
  5. cara pull request ke branch main

4. Time Complexity

jadi setelah saya menonton video yang terlah diberikan saya memiliki beberapa kesimpulan

  1. Bagaimana pemilihan algorith yang efektif
  2. Pemilihan coding yang bagus
  3. Mengatur waktu running dari codingan supaya secepat mungkin

5. Data Structure

Jadi setelah saya pelajari saya bisa merangkum tentang meteri di week 2 ini

  1. Array
  2. Slice
  3. Map

6. String – Advance Function – Pointer – Method – Struct and Interface

jadi setelah yang saya pelajari melalui zoom dan video learning

  1. string adalah sebuah text
  2. Advance Function adalah function yang terdiri dari Variadic function, Anonymus function, Closure function
  3. Pointer adalah sebuah alamat memori atau address dari memory yang bisa di manipulasikan
  4. method method adalah sebuah function yang dibuat untuk mempermudah kita mengakses struct dari sebuah function
  5. Struct dan Interface adalah sebuah kumpulan atribut yang memiliki tipe data sendiri

7. Recursive, Number Theory, Sorting & Searching

Jadi pada materi ini ada beberapa yang dapat saya rangkum

  1. Apa itu tentang Recursive
  2. Apa itu tentang Number Theory
  3. Bagaimana cara shorting dan searching

8. problem Solving Paradigm - Brute Force, Greedy and Dynamic Programming

Jadi setelah saya melihat video learning di one alterra saya dapat sedikit menyimpulkan

  1. Saya mempelajari tentang Brute Force jadi bruto force adalah sebuah pencarian data yang buruk karna kita akan cek satu persatu data tersebut sehingga memakan waktu yang lebih
  2. Greedy implementasi algoritma greedy di Go seringkali melibatkan loop dan pengambilan keputusan berdasarkan kriteria tertentu untuk setiap langkah.
  3. Dynamic Programming yang dimana kita dilatih untuk menggunakan algoritma sesimple mungkin agar code kita clean

9. Concurrent Programing

Jadi setelah saya pelajari apa itu concurrent programing saya dapat merangkum menjadi beberapa bagian

  1. Apa itu Concurrent Programing
  2. mana lebih efektif dari sequential, parallel dan concurrent
  3. Conncurrent disini yang diplajari adalah goroutine
  4. saya juga mempelajari bagaimana menggabungkan goroutine dan channel
  5. saya juga belajar bagaimana cara menggabungkan WaitGrup dan Mutex

10. Clean Code

Disini saya banyak mempelajari bagaimana cara menulis code dengan benar dengan tujuan untuk mempermudah kolaborasi dan deployment saya sudah merangkum materi ini

  1. Apa itu clean code
  2. Secara singkat clean code adalah style code atau bagaimana kita menulis style code agar mudah di baca dan dipahami
  3. yang saya tau beberapa style code yang sering di gunakan yaitu Camel Case, Snake Case,Kebab Case dan Pascal case
  4. saya juga mempelajari bagaimana menulis variable dengan benar dan sesuai apa yang akan kita lakukan

11. DATABSE

Disini saya mempelajari bagaimana banyak hal tentang database dan sudah saya rangkum

  1. Bagaimana cara membuat database
  2. Apa itu DDL dan bagaimana cara implementasikan ke mysql
  3. apa itu DML yang menurut saya sangat op(Over Power) kita bisa memanipulasi data

12. Join, Union, Agregasi, Subquery, Function - DBMS

Disini saya mempelajari materi yang lumayan susah menurut saya

  1. Bagaimana menggunakan subQuery
  2. Bagaimana mengimplementasikan sebuah function di sebuah database
  3. Seberapa hebatnya Union yang dimana sangat bagus untuk mengabunggkan data data
  4. Kita juga bisa menjumlahkan data menggunakan SUM

13. Configuration Management and CLI

Baik disini saya mempelajari tentang Cli atau Command Line dan sudah beberapa yang sudah saya rangkum

  1. Bagaimana membuat folder membuat file dengan CLI menggunakan mkdir dan touch
  2. Bagaimana cara membuat sebuah script yang bisa di jalankan menggunakan zsh
  3. Banyak hal yang saya pelajari termasuk bagaimana cara manajemen file yang bagus dan lain-lain

14. System Design

Pada ini saya mempelajari systen design dan saaya sudah merangkum beberapa poin penting

  1. apa itu flowcahrt, use case, ERD dan HLA
  2. saya juga mempelajari tantang Horizontal Scalling dan Vertikal Scalling
  3. bagaimana penerapan monilihic dan microservies
  4. Saya juga mempelajari tentang perbedaan sql dan Nosql

15. RESTful API

pada materi ini saya saya belajar baagaimana cara menggunakan postman untuk mengkonsumi api dan saya merangkum beberapa

  1. Bagaimana cara mendapatkan data dari API menggunakan postman
  2. Bagaimana cara mencari data by menggunakan ID menggunakan postman
  3. Menghapus data menggunakan URL dari postman

16 . Intro Echo Golang

Materi ini sanngat seru karena saya mempelajari framework ECHO untuk mempermudah pengetikan code dan saya sudah merangkunnya

  1. Membuat resful api menggunakan framework echo
  2. bagaimana cara DATA RENDERING , RETRIEVE DATA dan BINDING DATA
  3. Mempelajari tentang bagaimana mengkumsumsi data dari client

17 . ORM & Code Structure (MVC)

Yang bisa saya rangkum dari materi ini ada beberapa

  1. Bagaimana cara memisahkan code sesuai dengan folder
  2. saya juga mempalajari tentang ORM
  3. Bagaimana cara imigret database

18 . Middleware

Pada materi ini saya mempelajari materi tantang middleware dan saya sudah merangkum beberaoa

  1. Bagaimana cara agar client tidak sembrang mengakses endpoint
  2. Bagaimana cara mendapatkan JWT token
  3. Cara mengakses JWT token dengan menggunakan Postman

19 . Unit Testing

Pada materi ini saya mempelajari materi tantang bagaimana cara tes codingan yang sudah saya buat

  1. Testing function yang telah kita buat dan membuat test case agar bisa di test
  2. Cara menjalankan perintah testing unit
  3. Membuat logic supaya code kita bisa di test

20 . Clean Architecture

Pada materi ini saya bisa merangkum menjadi beberapa

  1. Apa itu Clean Architecture
  2. Bagaimana cara mengubah folder yang belum clean menjadi Clean Architecture
  3. Harus paham folder apa untuk controller usecase dan logic agar mempermudah memahami Clean Architecture

21. DOCKER

Pada materi ini saya sudah merangkum beberapa hal yang telah saya pelajari

  1. Bagaimana cara membuat image menggunakan docker
  2. syntak apa saja yang di gunakan untuk docker
  3. Bagaimana cara membuat contaner menggunakan docker

22 . Compute service

Amazon Web Services (AWS) menyediakan berbagai layanan komputasi yang dapat membantu Anda menjalankan aplikasi dan beban kerja di lingkungan cloud. Berikut beberapa poin penting tentang layanan komputasi AWS:

  1. Amazon Elastic Compute Cloud (EC2): EC2 adalah layanan komputasi awan yang memungkinkan Anda untuk menyewa server virtual yang dapat dikonfigurasi sesuai kebutuhan Anda. Anda dapat memilih berbagai jenis instans, termasuk yang dioptimalkan untuk komputasi, memori, atau penyimpanan, dan mengelola sistem operasi, aplikasi, dan konfigurasi server.

  2. Amazon Elastic Container Service (ECS): ECS adalah layanan manajemen kontainer yang memungkinkan Anda menjalankan, mengelola, dan mengorkestrasi kontainer Docker di lingkungan AWS.

  3. AWS Lambda: Lambda adalah layanan komputasi serverless yang memungkinkan Anda menjalankan kode tanpa harus mengelola infrastruktur server fisik. Anda hanya membayar berdasarkan waktu pemrosesan yang digunakan.

  4. Amazon Elastic Beanstalk: Beanstalk adalah layanan yang memudahkan pengembang untuk men-deploy dan mengelola aplikasi web dan mikro servis dengan cepat. AWS mengelola infrastruktur di balik layar, sehingga Anda dapat fokus pada kode aplikasi Anda.

  5. AWS Fargate: Fargate adalah layanan serverless untuk menjalankan kontainer Docker tanpa harus mengelola instance EC2 secara eksplisit.

  6. Ini memungkinkan Anda untuk fokus pada aplikasi dan tidak perlu khawatir tentang infrastruktur. Amazon Lightsail: Lightsail adalah layanan komputasi yang disederhanakan dan terkelola yang cocok untuk aplikasi web sederhana atau pemula di cloud. Ini memiliki harga yang jelas dan mudah digunakan.

  7. AWS Batch: Batch adalah layanan manajemen komputasi yang memungkinkan Anda untuk menjalankan beban kerja komputasi berat dalam skala besar dan secara efisien.

  8. Amazon Elastic Kubernetes Service (EKS): EKS adalah layanan yang dikelola untuk menjalankan aplikasi berbasis Kubernetes di AWS. Ini memungkinkan Anda untuk orkestrasi kontainer menggunakan Kubernetes.

  9. AWS Outposts: Outposts memungkinkan Anda untuk menjalankan layanan AWS di pusat data lokal Anda, memungkinkan komputasi di lokasi yang dekat dengan data Anda.

  10. AWS Auto Scaling: Auto Scaling memungkinkan Anda untuk secara otomatis menyesuaikan kapasitas komputasi Anda sesuai dengan permintaan aplikasi, sehingga mengoptimalkan biaya dan kinerja.

  11. AWS App Runner: App Runner adalah layanan yang memudahkan pengembangan dan deployment aplikasi container dan kode langsung dari repositori kode Anda.

  12. AWS Wavelength: Wavelength adalah layanan yang memungkinkan aplikasi Anda berjalan di pusat data Edge AWS, mengurangi laten dan meningkatkan pengalaman pengguna untuk aplikasi berkinerja tinggi. Setiap layanan ini memiliki karakteristik dan kegunaan yang berbeda-beda, dan pemilihan tergantung pada kebutuhan aplikasi dan beban kerja Anda. AWS menyediakan fleksibilitas yang besar dalam hal komputasi awan, mulai dari pengelolaan server virtual hingga komputasi serverless, sehingga Anda dapat memilih solusi yang paling sesuai dengan kebutuhan bisnis Anda.