DevOps for Full Stack Developer using Gitlab Runner, Fast API, Vue.js and Kubernetes

  • TTDG33
  • Classroom
  • Fundamental
  • Thai | 0
Digital Technology

เครื่องมือที่จะใช้ประกอบการบรรยายและทำ workshop มีดังนี้ Gitlab Runner เป็นเครื่องมือสำหรับทำ ci/cd,Fast API เป็นเครื่องมือสำหรับการทำ REST API พัฒนาด้วยภาษา python,Vue.js เป็นเครื่องมือสำหรับการทำ Front End พัฒนาด้วย Typescript,Kubernetes เป็นเครื่องมือสำหรับการ deploy application

Course description

Time
Days :
5 Day(s)
Duration :
60 Hour(s)
Time :
09:00:00 - 16:00:00
Training Date :
20-24 January 2025
Status :
Open Register
Instructor
Language :
Thai
Venue
Venue :
Software Park Training Room 3rd floor, Software Park Building Chaengwattana Road, Pakkred
Type :
Classroom
DevOps for Full Stack Developer using Gitlab Runner, Fast API, Vue.js and Kubernetes

DevOpsคือรูปแบบวิธีการปฏิบัติ วัฒนธรรม และกระบวนการต่าง ๆ เพื่อแก้ไขปัญหาที่เกิดจากความขัดแย้งระหว่าง Development และOperations ดังที่กล่าวมาแล้วในหัวข้อด้านบน รวมถึงช่วยเพิ่มประสิทธิภาพในการทำงานให้สามารถผลิต software ออกสู่ตลาดได้รวดเร็วขึ้น มีคุณภาพและเสถียรภาพมากขึ้น ในขณะที่ cost ลดลง เพื่อให้บริษัทสำเร็จตามเป้าหมายที่วางไว้

Vue.js คือเครื่องมือที่ออกแบบมาให้สำหรับเอาไว้พัฒนา Web Application ที่มีความสามารถในการทำ Single Page Applicationซึ่งการพัฒนา Vue.js นั้นเป็น framework ที่ออกแบบมาได้อย่างสมบูรณ์แบบ ง่ายต่อการพัฒนาระบบงานเป็นอย่างมาก

Python เป็นภาษาในการ Programming ภาษานึงที่ได้รับความนิยมสูงมากในขณะนี้ เนื่องจากเป็นภาษาเชิง scriptingที่ใช้งานได้หลายหลายรูปแบบ เช่น IOT, Data science, REST API เป็นต้น ตัวภาษาเองได้ถูกเลือกให้เป็นภาษาที่น่าเรียนติดต่อกันหลายปีโดยเฉพาะในประเทศไทยได้จัดให้ภาษา python อยู่ในหลักสูตรการเรียนการสอนวิชา วิทยาการคำนวณ ที่เรียนกันในระดับชั้น ประถมและมัธยม

Python เป็นภาษาที่เหมาะแก่การเรียนรู้และนำไปใช้งานเป็นอย่างมากเพราะเป็นภาษาที่ประมวลผลได้เร็วเมื่อเทียบกับภาษาอื่น อีกทั้งยังมีlibrary ต่าง ๆ มากมายที่มาช่วยให้การทำงานเป็นไปอย่างมีประสิทธิภาพ

หัวใจสำคัญในการประยุกต์ใช้งาน DevOps ในองค์กรคือการทำ CI/CD โดยการทำ CI/CD นั้นมีเครื่องมือที่สามารถทำงานแบบ automate หลากหลาย เช่น Jenkins, Circle CI เป็นต้น

ถ้าหากในองค์กรเรามีการใช้ Gitlab แบบ on-premise อยู่แล้วการนำ Gitlab-Runner มาเป็นตัวช่วยในการทำ CI/CD ย่อมเป็นตัวเลือกที่ดีกว่า ทั้งในด้านการบริหารจัดการ การ Monitor และการ setup

ในปัจจุบันมีเครื่องมือสำหรับใช้ในการช่วย deploy เยอะมาก แต่ตัวนึงที่ได้รับความนิยมมากคือ Kubernetes (K8s) ซึ่งเป็น serverที่ได้ช่วยให้การ deploy application ที่ซับซ้อนทำได้ง่ายขึ้น ซึ่งใน class จะทำการร้อยเรียงกันว่าจะสามารถนำ Kubernetes มาใช้ในส่วนไหนของDevOps และใช้ร่วมกับ Gitlab ได้อย่างไร

เครื่องมืีอที่จะใช้ประกอบการบรรยายและทำ workshop มีดังนี้

  • Gitlab Runner เป็นเครื่องมือสำหรับทำ ci/cd
  • Fast API เป็นเครื่องมือสำหรับการทำ REST API พัฒนาด้วยภาษา python
  • Vue.js เป็นเครื่องมือสำหรับการทำ Front End พัฒนาด้วย Typescript
  • Kubernetes เป็นเครื่องมือสำหรับการ deploy application

Who Should Attend (กลุ่มลูกค้าเป้าหมาย):

  • นักพัฒนาระบบ
  • นักออกแบบระบบ
  • ผู้ดูแลระบบ

คุณสมบัติของผู้เข้าอบรม

  • มีความเข้าใจในการพัฒนาระบบงานไอทีเป็นอย่างดี
  • มีความรู้ในการเขียน script อย่างง่ายได้

  • เพื่อเข้าใจหลักการทำงานของ DevOps
  • เพื่อเรียนรู้และใช้เครื่องมือประกอบการพัฒนาระบบแบบ DevOps
  • เพื่อเรียนรู้การใช้ GitLab
  • เพื่อเรียนรู้การใช้ GitLab Runner
  • ฝึกปฏิบัติการใช้คำสั่ง git ขั้นพื้นฐาน
  • ฝึกปฏิบัติเขียน script ส าหรับ gitlab-runner เพื่อการทำ ci/cd
  • เพื่อเข้าใจหลักการทำงานของภาษา Python
  • เพื่อทำให้เข้าใจวิธีการพัฒนาโปรแกรมด้วยภาษา Python
  • เพื่อให้การเรียกใช้งาน Data Structure ของภาษา Python
  • เพื่อให้สามารถพัฒนาโปรแกรมเชื่อมต่อกับฐานข้อมูลประเภทต่าง ๆ เช่น My SQL, SQL Server, Oracle เป็นต้น
  • เพื่อให้สามารถเรียกใช้ Module ต่าง ๆ ได้
  • เพื่อให้สามารถเขียน Unit Test ของ Python ได้
  • เพื่อให้สามารถเขียน REST API ด้วย Framework ของ Python ได้
  • ฝึกปฏิบัติพัฒนาหน้าจอติดต่อกับผู้ใช้ด้วย Vue.js
  • ฝึกปฏิบัติเขียน script เพื่อ deploy application บน Kubernetes

วันที่ 1 : Single Page Application และ vue-router

  • Introduction to using Vue.js Data Handling
  • Adding Data Structures to Page views
  • Vuejs LifeCycle
  • Data Binding with Form fields
  • Render List array to page view
  • Apply Filters
  • Computed Values
  • Directives Vuejs
  • Introduction to methods
  • Event listeners
  • Binding Classes
  • Components Template Building
  • การใช้งาน vue-router
  • การทำ Named Route และ Named View
  • การทำ Programmatic Navigation
  • การทำ Nested Route
  • การทำ Redirect and Alias
  • การเขียน vue-router Guard
  • XMLHttpRequest และ axios
  • ใช้งาน async และ await
  • การเขียน XMLHttpRequest และ ใช้งาน axios

วันที่ 2 : Application State Management และ Vuex

  • การเขียน store, state และ getters
  • การใช้ $store.state และ $store.getters
  • การใช้ mapState() และ mapGetters()
  • การเขียน mutions
  • การใช้ $store.commit()
  • การใช้ mapMutations()
  • การเขียน actions
  • การใช้ $store.dispatch()
  • การใช้ mapActions()
  • การทำ Modularized store
  • Vue.js with Tailwind CSS
  • วิธีการติดตั้ง Tailwind CSS
  • วิธีการใช้งาน Tailwind CSS เบื้องต้น
  • workshop สร้าง web application ด้วย vue.js + Tailwind CSS
วันที่ 3 : Introduction to Python
  • Python Getting Started
    • Python Install and Quickstart
  • Execute Python Syntax and Indentation
  • Variables and Data Types
    • Comment
    • Casting and Get the Type
    • Python Variables - Assign Multiple Values and Unpack a Collection
    • Output and Global Variables
    • Setting the Specific Data Type
  • Python Operators
    • Arithmetic, Assignment and Comparison Operators
    • Logical, Identity, Membership and Bitwise Operators
Condition and Function
  • Conditions and Looping
    • Conditions and If statements
    • Elif, Short Hand If ... Else and Nested If
    • Looping and Iterators
  • Function, Lambda
    • Function and Arguments
    • Number of Arguments
    • Lambda Syntax
    • Lambda Functions
    • Using the dir() Function
Data structure
    • Arrays and Lists
    • Access the Elements of an Array
    • Looping Array Elements
    • List Items
    • The list() Constructor
    • Python Collections List Tuple Set
    • Dictionary
วันที่ 4 : Module and Error Exception
  • Modules and Packages
    • Create and Use a Module
    • Variables in Module
    • Naming a Module
    • Built-in Modules
    • Import From Module
  • Handling Exceptions
    • Python Try Except
  • File Handling
    • File Open, Open a File on the Server
    • Read Only Parts of the File
    • Write to an Existing File
    • Create a New File
    • Delete File
Unit testing and RDBMS
  • Classes and Objects
    • Python Classes/Objects
    • The __init__() Function
    • Object Methods
    • Modify Object Properties
    • Python Inheritance
  • How to Unit Testing
    • Unit Testing Fundamental
    • Unit test
  • How to use RDBMS in Python
    • SQLite
    • MySQL
    • SQL Server
    • Oracle
  • How to build REST API with Fastapi and Python
    • What is an API ?
    • Installing Fastapi
    • REST Principles
    • Create our application endpoints
    • Returning a list of stores
    • Implementing other endpoints
    • Using Postman for API testing
  • Storing resources in a SQL database
    • Retrieving our item resources from a database
    • Writing our item resources to a database
    • Deleting our item resources from a database
  • Security in your REST API
    • How to generate JWT token
    • How to filter JWT for each resource
 วันที่ 5 : Deployment
  • Get Started with Docker Technologies
  • Comparing Containers and Virtual Machines
  • Containers and Virtual Machines Together
  • Docker engine
  • Docker Architecture
  • Docker command
  • Docker Network
  • How to create own docker image with Dockerfile
  • Docker compose
  • Deploy application with Kubernetes
  • Introduction to Kubernetes
  • What is Pod, Deployment, Service, Ingress
  • Kubernetes Command
  • Deploy application with Kubernetes manifest file
Workshop
  • How to create Dockerfile for build custom docker image
  • How to debug custom docker image
  • How to push custom docker image to Docker Registry
  • How to create deployment, service, ingress script for Kubernetes

Payment can be made by:

  1. Cash or Credit Card or Bank Cheque payable to
    สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ or National Science and Technology Development Agency
    (a post-dated cheque is not accepted) on the first day of the service or within the last day of the service.

  2. Account transfer and send the proof of the payment (the deposit slip) via email  patsorn@swpark.or.th

    • ธนาคารกรุงเทพ สาขาอุทยานวิทยาศาสตร์
      Saving Account Number: 080-0-00001-0
      Account Name: สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ

    • ธนาคารกรุงไทย สาขาตลาดไท
      Saving Account Number: 152-1-32668-1
      Account Name: สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ

Notes:

  • Withholding tax (3%) is exempt.
  • Should you need to withdraw, you must send the notice of the withdrawal in writing no later than 7 working days before the commencement date. The cancellation less than 7 days will be subject to a fine of 40% of the fee.
  • Software Park Thailand reserves the rights to cancel courses due to unforeseen circumstances.

Contact Person

For more information, contact our course coordinator on:

คุณภัสสร พรทิพย์

Ms. Patsorn Pornthip

Tel: +66-2583-9992 Ext. 81422

Email:  patsorn@swpark.or.th

You are encouraged to use the course schedule as a guide to plan your training.
The schedule is accessible at www.swpark.or.th for more information. 


เพิ่มเพื่อน

15,000 THB .

สำคัญ!!! กรุณารอการยืนยันเปิดการอบรมจากเจ้าหน้าที่ก่อนการชำระค่าลงทะเบียน

Enroll now

Course Detail :
Days :
5 Day(s)
Duration :
60 Hour(s)
Time :
09:00:00 - 16:00:00
Training Date :
20-24 January 2025
Status :
Open Register

Instructor info
avatar
Mr.Sommai Krangpanich