- 24
- 56 959
Coding Gun
Thailand
Приєднався 28 чер 2021
Robot Framework Architecture
Robot framework คือเครื่องมือสำหรับทำ automated testing ที่สามารถเขียน script ได้ใกล้เคียงกับภาษามนุษย์มากที่สุด
ทำไมต้องใช้ Robot Framework
ก่อนจะเข้าไปที่วิธีใช้งานเราลองมาดูข้อดีของ Robot Framework กันก่อน
1. Cross-Platform สามารถ run ได้ทั้ง MacOS, Linux และ Windows
2. ภาษาที่เขียนเหมือนภาษามนุษย์มากๆ
3. มี Third-party Library ให้เลือกใช้เยอะมากๆ ดังนั้นเราสามารถนำ Robot Framework ไปทดสอบ API, Database หรือ Mobile ได้ด้วย Library
4. เลือก Test ที่จะ Run ได้ง่าย
5. มีรายงานสรุปผลออกมาเป็น XML และ HTML สามารถนำไปใช้ต่อได้ง่าย
6. สามารถ Capture screen เมื่อมีข้อผิดพลาด
7. สามารถพัฒนา Library ขึ้นมาใช้งานเองได้ด้วย Python
ทำไมต้องใช้ Robot Framework
ก่อนจะเข้าไปที่วิธีใช้งานเราลองมาดูข้อดีของ Robot Framework กันก่อน
1. Cross-Platform สามารถ run ได้ทั้ง MacOS, Linux และ Windows
2. ภาษาที่เขียนเหมือนภาษามนุษย์มากๆ
3. มี Third-party Library ให้เลือกใช้เยอะมากๆ ดังนั้นเราสามารถนำ Robot Framework ไปทดสอบ API, Database หรือ Mobile ได้ด้วย Library
4. เลือก Test ที่จะ Run ได้ง่าย
5. มีรายงานสรุปผลออกมาเป็น XML และ HTML สามารถนำไปใช้ต่อได้ง่าย
6. สามารถ Capture screen เมื่อมีข้อผิดพลาด
7. สามารถพัฒนา Library ขึ้นมาใช้งานเองได้ด้วย Python
Переглядів: 174
Відео
Microservices คืออะไร?
Переглядів 3,4 тис.Рік тому
มาทำความรู้จักกับ Architecture ยอดนิยมอย่าง Microservices ซึ่ง แนวโน้มของการพัฒนาซอฟแวร์นั้นจะมีการเพิ่ม requirements และความซับซ้อนมากขึ้นเรื่อยๆในทุกๆปี ดังนั้นเมื่อเวลาผ่านไปความต้องการของ user ก็จะมีมากขึ้นและก็จะยิ่งซับซ้อนมากขึ้นดังนั้นการที่เราพัฒนาระบบขั้นมาเป็นแบบ Monoliths นั้นจะทำให้เกิดข้อจำกัดต่างๆดังนี้ 1. ระบบยิ่งมีขนาดใหญ่ ยิ่งมีจำนวน developer มากขึ้น เมื่อคนเยอะขึ้นการสื่อสารก...
SonarQube คืออะไร
Переглядів 772Рік тому
SonarQube คือ Quality Management tools แปลว่าเครื่องมือควบคุมคุณภาพของ software ถือได้ว่าเป็นเครื่องมือที่ต้องใส่ไว้ใน CI/CD pipeline SonarQube จะแบ่งปัญหาออกเป็น 4 กลุ่มด้วยกันคือ 1. Bugs 2. Vulnerabilities 3. Code smells 4. Security Hotspots และนอกจากจะหา Code ที่ไม่มีคุณภาพให้เราแล้ว SonarQube ยังมีการวัด Complexity และ Code Duplication ให้เราด้วย ถือได้ว่าครบเครื่องเรื่อง Quality กันเลยทีเด...
การ Deploy Application ลง Kubernetes ต้องรู้จักอะไรบ้าง
Переглядів 1,3 тис.Рік тому
การจะ deploy application ลงบน kubernetes คุณต้องรู้จักกับ 4 resources นี้ 1. Deployment และ ReplicaSet ทำหน้าที่ดูแล Version ของ Application และ จำนวน Replica หรือ จำนวน Pods 2. Pod เป็น Unit of work ของ Kubernetes นั่นคือ Kubernetes จะสร้างและลบ Pods ที่ Kubernetes เลือกใช้ Pods เพราะ Kubernetes ไม่ต้องการยึดติดกับ Container Runtime 3. Services ทำหน้าที่เป็น Load balancer ในการกระจาย Load เข้า...
Kubernetes คืออะไร?
Переглядів 4 тис.Рік тому
ทำความเข้าใจ Kubernetes ภายใน 10 นาทีมารู้จักกับ Kubernetes กันว่า Kubernetes ทำงานยังไงบ้าง มีองค์ประกอบอะไร แต่ละส่วนมีหน้าที่และบทบาทยังไง 0:03 Kubernetes คืออะไร 0:24 Kubernetes vs Docker 2:19 ประโยชน์ของ Kubernetes 4:09 องค์ประกอบของ Control Plane หรือ Master Node 4:13 API Server 4:44 Controller 5:16 Scheduler 6:48 Cluster DB(Etcd) 8:00 องค์ประกอบของ Worker 8:06 Kubelet 8:30 Container runt...
เข้าใจ Terraform ภายใน 10 นาที
Переглядів 1,5 тис.Рік тому
ในยุคที่เราทุกคนต่างต้องใช้งาน Cloud Service Provider กันอยู่แล้ว การจัดการ Resource ต่างๆบน Cloud ด้วยมือเป็นเรื่องที่ยุ่งยากมากและยังไม่ปลอดภัยอีกด้วย ดังนั้น Terraform จึงเป็นสิ่งที่ทีม Developer และ ทีม Operation ต้องทำความรู้จักเอาไว้ Terraform คือ Infrastructure as Code(IaC) ที่จะช่วยให้เราทำงานกับ Cloud Service Providers ทุกๆเจ้าแบบอัตโนมัติ ซึ่ง Terraform นั้นรองรับทั้ง 1. Infrastructur...
มาดูตัวอย่าง Broken Access Control อันดับ 1ใน OWASP Top 10
Переглядів 565Рік тому
ปัญหาที่ใหญ่ที่สุดของการพัฒนา Web Application คือการจัดการ Access Control หรือ Authorization ปัญหานี้เราจะพบได้เยอะมากๆ เนื่องจากการทดสอบให้ครบถ้วนนั้นทำได้ยาก ปัญหานี้ขยับขึ้นมาจากอันดับที่ 5 ใน OWASP Top 10 2017 เป็นเพราะปริมาณของจุดอ่อน(Weakness)นั้นมีถึง 34 CWE ซึ่งเยอะมากเลยถูกจัดขึ้นมาไว้ในอันดับที่ 1 เอาชนะแชมป์เก่าอย่าง Injection ไปอย่างขาดลอย ตัวอย่างนี้จะเป็นปํญหาของการใช้ REST API ซึ...
ก่อนใช้ JSON Web Token(JWT) ต้องดูคลิปนี้
Переглядів 1,9 тис.Рік тому
การใช้งาน JWT จะต้องระวังการ brute force(ไล่ไปเรื่อยๆให้ครบทุกตัวอักษร) หา secret แล้วถ้า secret หายไปจะเกิดอะไรขึ้น ถ้า attacker ได้ secret ของเราไป เค้าจะสามารถแก้ไขข้อมูลในส่วนของ payload ได้ ซึ่งนั่นจะทำให้ token นั้นสามารถยกระดับสิทธิได้ หรืออาจปลอมเป็นบุคคลอื่นได้ รวมทั้งเรายังสามารถแก้วันหมดอายุของ token ได้อีกด้วย ในคลิปนี้ผมใช้ jwt-cracker ในการ bruteforce หา secret ซึ่งจะเป็นแนวทางให้...
รู้จักกับการโจมตีด้วย SQL Injection
Переглядів 1,2 тис.Рік тому
SQL Injection คือ รูปแบบการโจมตี Web Application ที่ส่ง Query เข้าไปใน input ของ Web Application ซึ่ง ณ ปัจจุบันเป็นปัญหาที่พบได้เยอะและบ่อยที่สุด แต่เนื่องจากการป้องกัน SQL Injection ทำได้ง่ายขึ้นมากๆ และการพัฒนา software ณ ปัจจุบันเราใช้ ORM เป็นหลัก(เราเขียน SQL น้อยลง) ดังนั้น SQL Injection จึงลดความรุนแรงลงไป และตกลงมาอยู่ในอันดับ 3 ของ OWASP TOP 10 ปี 2023 แต่ถึงจะไม่ใช่อันดับ 1 แต่ก็ยังเ...
Run dotnet Core บน Docker Container
Переглядів 413Рік тому
ไม่ว่าจะทำงานด้วยภาษาใดก็ตามเราจะหลีกหนีการใช้งาน Docker ไปไม่ได้ dotnet Core ก็เช่นเดียวกัน ในวิดีโอนี้เราจะพาคุณไปดูวิธีการใช้งาน docker บน VS Code ซึ่งจะง่ายมากๆ เราสามาร Generate ทั้ง Dockerfile และ docker-compose.yml ออกมาได้ง่ายมากๆ โดยเฉาะใครที่ใช้ MacOS แล้วต้องทำงานกับ dotnet แต่ไม่อยากใช้ Visual Studio for Mac เราสามารถใช้ VS Code ทำงานกับ dotnet core ได้เลย 0:41 ติดตั้ง plugins 0:59 ...
ทำ Mock Server ด้วย Postman
Переглядів 1,6 тис.3 роки тому
#postman #mockserver การ Mock Server คือการจำลอง Server ขึ้นมาเพื่อทำการทดสอบ ซึ่งจะช่วยให้เราไม่จำเป็นต้องสร้าง Server จริงๆขึ้นมา เนื่องจากต้องเสียเวลาในการเขียน Code กว่าจะสร้างโครงสร้างใน Database กว่าจะดึงข้อมูลออกมาได้แต่ละ Object (1 Object อาจต้องการข้อมูลมากกว่า 1 table) ดังนั้น Mock server จึงช่วยให้ใช้เวลาในการพัฒนาลดลงเยอะมาก โดยเฉพาะ Project ที่เรายังมี Requirement ที่ยังไม่ชัดเจน ก...
สอนใช้งาน Proxy ใน Postman
Переглядів 3173 роки тому
#postman #proxy proxy เป็นเครื่องมือที่เอาไว้คั่นกลางระหว่าง Client และ Server เพื่อที่จะให้ทุกๆ request และ response นั้นวิ่งผ่าน proxy ซึ่งประโยชน์ของ proxy นั้นมีเยอะแยะมากมาย แต่ในการใช้งาน Postman นั้นเราจะใช้ proxy ในการบันทึก Request ทุก Request ที่เกิดขึ้น เราเลยไม่จำเป็นต้องสร้าง Requrest ขึ้นมาเอง
Postman : Fake Data ด้วย Dynamic Variable, Lodash and Mockaroo
Переглядів 4073 роки тому
#postman #fakedata #lodash #mockaroo การ Fake data คือการจำลองผลลัพธ์หรือระบบให้ใกล้เคียงกับของจริงมากที่สุด การ Mock และ การ Fake ต่างกันอย่างไร การ Mock จะเป็นการสร้างผลลัพธ์แบบ Static คือ เป็นตัวปลอมที่ไม่สามารถจำลองการทำงานจริงของระบบได้ จะมี ผลลัพธ์ที่ Return กลับไปเหมือนเดิมทุกครั้ง แต่ในขณะที่ Fake จะเป็นการจำลองการทำงานที่เหมือนกับระบบจริงแต่ไม่สามารถใช้งานในระบบจริงได้ เช่น เราอาจทดสอบ...
การประกาศตัวแปรใน Postman แบบต่างๆ
Переглядів 2 тис.3 роки тому
#postman #variable การใช้งาน Postman นั้นเราจำเป็นต้องประกาศตัวแปรขึ้นมาใช้งาน อาจให้ในการ fake data หรือจะเป็นการเก็บข้อมูลที่ได้จาก Request ก่อนหน้า ดังนั้นเราจึงจำเป็นต้องเข้าใจการทำงานของตัวแปร(variable) ในประเภทต่างๆ ซึ่งตัวแปรแต่ละประเภท จะแตกต่างกันดังนี้ การจะกำหนดค่าและอ่านค่าโดยใช้คำสั่ง set และ get ตามแต่ละประเภทของตัวแปร เช่นถ้าจะทำงานกับตัวแปรที่อยู่ใน Global Variable เราจะใช้ pm.g...
Dynamic Imports นำมาใช้งานยังไง | Javascript
Переглядів 3013 роки тому
Dynamic Imports นำมาใช้งานยังไง | Javascript
ทำความเข้าใจ JavaScript Module Import/Export ใช้งานยังไง
Переглядів 2,1 тис.3 роки тому
ทำความเข้าใจ JavaScript Module Import/Export ใช้งานยังไง
การ load JavaScript แบบ Asynchronous ด้วย Async และ Defer
Переглядів 3203 роки тому
การ load JavaScript แบบ Asynchronous ด้วย Async และ Defer
ห้ามพลาด!! 10 Extensions ที่ต้องใช้ใน VS Code 2021
Переглядів 7353 роки тому
ห้ามพลาด!! 10 Extensions ที่ต้องใช้ใน VS Code 2021
รวม Shortcut Keys ที่ทำให้ VS Code ง่ายขึ้น
Переглядів 7453 роки тому
รวม Shortcut Keys ที่ทำให้ VS Code ง่ายขึ้น
CSS Flexbox: จัดวาง display แบบง่ายๆ ด้วย flexbox
Переглядів 23 тис.3 роки тому
CSS Flexbox: จัดวาง display แบบง่ายๆ ด้วย flexbox
เขียน html ไวขึ้น 2 เท่าแค่เข้าใจ emmet
Переглядів 7 тис.3 роки тому
เขียน html ไวขึ้น 2 เท่าแค่เข้าใจ emmet
การ Debug Javascript ด้วย Console Logging
Переглядів 4953 роки тому
การ Debug Javascript ด้วย Console Logging
var vs let vs const ความแตกต่างที่ต้องเข้าใจ
Переглядів 2,7 тис.3 роки тому
var vs let vs const ความแตกต่างที่ต้องเข้าใจ
ขอบคุณครับ
ชอบวิธีการเรียบเรียงเนื้อหาการสอนมาก ๆ ครับ เหมือนเป็นอาจารย์มหาวิทยาลัยที่สอนดีท่านหนึ่งได้เลย
ขอบคุณสำหรับคลิปความรู้นี้ครับ เข้าใจกว่าอ่านเองเยอะเลย
เยี่ยมมากเลย ขอบคุณครับ
ขอบคุณครับ รอคลิปถัด ๆ ไปครับ
ขอบคุณครับ
อยากทราบว่า api เราต้องเชคที่ไฟล์ไหนเหรอครับ ว่าเขาใช้งานพอต อะไร ถ้ากรณี ไม่ได้ใช้ พอตดีฟอล เผอิญ ต้องมา deploy รันได้แล้ว แต่เปิดหน้าเว็บไม่ได้ :)
แก้ EXPOSE ใน Dockerfile บรรทัดที่ 3 (2:53) แล้วก็ตอนสั่ง docker run ให้ใส่ -p เป็น port ที่ตรงกันครับ (5:12)
@@codinggun7966 ครับ จริง ๆ ผมก็ทำแบบนี้ ลองใช้ postman ทดสอบ แต่เหมือนยังเรียก api ไม่ได้ ก็เลย กำลังหาปัญหา เพื่อบอกทางทีม dev ครับ เพราะว่าเขารันบน localhost แล้ว ขึ้น แต่พอย้ายมารันบน เซเวอร์ ยังไม่ได้ ขอบคุณมาก
ดูหลายแล้ว มีประโยชน์มาก อธิบายเข้าใจง่ายแบบสั้นๆ ขอบคุณครับ
พี่ครับ Meta UTF-8 มันคืออะไรหรอครับ
UTF-8 เป็นการเข้ารหัสเพื่อให้ใน Content ของเรามีได้หลายภาษาครับ
พิมพ์คอมเม้นท์ยังไงให้เร็วครับ สอบถามเพิ่มเติม
Conrol + / ครับ
ขอบคุณมากครับฟังแล้วเข้าใจเลย
ขอบคุณค่ะ เข้าใจง่ายมากเลย
อธิบายดีมากครับ
มันแตกต่างกับ jenkins ไหมครับ ดูมันเหมือนคล้ายๆกัน
ไม่เหมือนครับ Jenlins จะเป็น CI/CD. ซึ่งอาจมี Terraform เป็นหนึ่งใน Task งานที่อยู่ใน Pipeline ครับ
อธิบายดีมากเลยครับ สั้นกระชับ เข้าใจ
ขอบคุณมากครับ ละเอียดดีมากครับ
data เก็บอย่างไร
สร้าง Persistance Volume เพื่อระบุ Storage ที่เราต้องการได้เลยครับ มีหลาย Technology ให้เลือก
แต่ละservice ก็มี frontend ของมันเองใช่ไหมครับ
ไม่จำเป็นครับ ถ้าแยก frontend ด้วยจะกลายเป็น Microfrontend ครับ
เท่าที่ทราบมาตอนนี้ ทาง robocorp เลิกไปต่อกับการเขียนแบบ Script Language แล้ว แต่จะใช้ Python ล้วน
ต้องรอดูครับว่าจะทำให้ง่ายกว่า Selenium ยังไง
ขอบคุณสำหรับความรู้ครับ จะนำไปปรับใช้ครับ
ขอบคุณครับเข้าใจง่ายมาก มีศิลปะภาษาในการพูดอธิบายมากครับๆ เรียงลำดับเรื่องได้ดีสุดๆ ภาษาไทยเกรด SSR
ขอบคุณครับ อธิบายเข้าใจง่าย มองเห็นภาพ
หากศึกษาด้วยตนเอง ผมจะพบความรู้นี้จากส่วนไหนหรอครับ ขอบคุณมากๆครับ
ขอบคุณมากครับผม
ขอบคุณมากเลยนะครับ เข้าใจมากขึ้นเลย
ไม่ทำคลิปแล้วรึคะคิดถึงคนึงหายิ่งนัก
กำลังทำอยู่นะครับ อดใจรออีกไม่นาน
ขอบคุณครับ เข้าใจเลย ทีนี้
ช่วยทำคลิปอธิบายเรื่อง Helm กับ ContainerD หน่อยครับ 😅
แล้วเราจะรู้version ได้ยังไงเหรอครับ
เราไม่ต้องรู้ Version ครับในกรณีนี้จะขึ้นอยู่กับ Algorithm ถ้าเป็น HS256 จะสามารถ Crack ออกมาได้ตามตัวอย่างนี้ ซึ่งจะเป็น Algorithm ไหน ขึ้นอยู่กับ Library หรือ Framework ที่นำมาใช้ครับ แต่เราสามารถกำหนดให้เลือกใช้ Algorithm ที่เราต้องการได้
คลิปนี้ดีจริงๆ
ติดตามแล้วครับ ขอบคุณมากครับ
ขอบคุณครับ
ถ้าต้องการแยกกันได้โดยสิ้นเชิง ต้องจัดการเรื่องฐานข้อมูลอย่างไรคะ ถ้ากรณีอีก service นึงล่ม แต่อีก service นึงต้องการข้อมูล ทีอยู่ในอีกตัวนึงกรณีแบบนี้ไม่ใช่ microservice ใช่ไหมคะ ถ้ายังต้องการร้องขอ ข้อมูลข้าม Service อันนี้คือถามแบบไม่มีความรู้เรื่อง microservice เลยหน่ะค่ะ
database จะต้องแยกกันอย่างเด็ดขาด ของใครของมันซึ่งเราสามารถนำข้อมูลที่ต้องใช้กับหลายๆ service ไปเก็บไว้ใน cache ได้ครับ ถ้า service เจ้าของข้อมูล down ไปจะยังมีข้อมูลใน cache ให้ใช้งาน
ขอบคุณมากค่ะ@@codinggun7966 😊
ขอบคุณมากๆคะ อธิบายได้ดีเยียม สั้น กระชับ แต่เน้นๆ
โครตดีเลยครับแล้วก็ดูมีความเป็น Professional มากๆ😂❤
พี่่ช่วยทำคลิปอธิบายเรื่อง vpc และการแบ่ง subnet หน่อยครับ
แล้วถ้่า deploy ไปที่ผู้ให้บริการเดียวกันเช่น aws จะยังถือเป็น microserviceไหมครับ
ยังเป็น microservices อยู่ครับ ถือว่าคนละเครื่องกัน(container หรือ vm) แต่ที่สำคัญเลยคือ database ต้องแยกกัน
กราบขอบคุณอย่างมากมายครับ
ขอบคุณครับ
กราบขอบพระทัยครับจาน
ขอบคุณครับ
กราบขอบพระคุณอย่างสูงสุดครับจาน
ขอบคุณครับ
กราบขอบพระคุณครับจาน
ขอบคุณครับ
ขอบพระคุณครับจาน
ขอบคุณครับ
What is this language? Is it Javanese or something?
This is a cascading style sheet(CSS). It's not a programming language
ขอบคุณครับ จาก งงๆ กระจ่างเลย
ใครมีคำถามเกี่ยวกับ Microservices สามารถ comment. ไว้ในนี้ได้เลยนะครับ 0:10 Monolith คืออะไร 1:00 ปัญหาของ Monolith คืออะไร 3:05 จาก Monolith สู่ Microservices 3:23 ต้องแตก services ขนาดไหนถึงจะพอดี 3:53 สิ่งที่ต้องมีในแต่ละ Service 8:17 หลักการออกแบบ Microservices
อยากให้สอนHTMLเต็มๆเลยครับว่าใช้ยังไงบ้างวางDivยังไง
ได้ครับ
ทำไงให้พิมพ์คอมเม้นท์ไวๆครับ
Ctrl + / ครับ
ใครมีข้อสงสัยเกี่ยวกับการใช้งาน SonarQube สามารภ comment ไว้ในนี้ได้เลยนะครับ 0:00 SonarQube คืออะไร? 2:42 Products ของ SonarSource 3:56 SonarQube ทำงานยังไง?
ขอบคุณครับผม
Kubernetes คือ เครื่องมือที่ช่วยนำ containers หลายตัวมาทำร่วมกัน หรือจะเรียกว่า container orchestration ซึ่ง Kubernetes จะเป็นเหมือนวาทยากรที่คอยควบคุมดูแลการเล่นของนักดนตรีแต่ละคน ซึ่ง Node ที่มาทำงานใน Kubernetes จะแบ่งออกเป็น 2 บทยาทด้วยกันคือ 1. Control Plane(Master) ทำหน้าที่เป็น Server ที่คอยดูแลให้การทำงานเป็นไปอย่างราบรื่น 2. Worker เป็น Node ที่ทำหน้าที่รับ Request จากภายนอกและเป็น Host สำหรับ run container 0:03 Kubernetes คืออะไร 0:24 Kubernetes vs Docker 2:19 ประโยชน์ของ Kubernetes 4:09 องค์ประกอบของ Control Plane หรือ Master Node 4:13 API Server 4:44 Controller 5:16 Scheduler 6:48 Cluster DB(Etcd) 8:00 องค์ประกอบของ Worker 8:06 Kubelet 8:30 Container runtime 8:57 Pods คืออะไร 10:32 Kube proxy ใครมีข้อสงสัยเกี่ยวกับการใช้งาน Kubernetes สามารถ comment ไว้ในนี้ได้เลยนะครับ
แล้วทำไมเราถึงจะต้องใช้ const ให้ได้ล่ะ ผมฮาตรง 7:38 อ่ะ ที่บอก "เพราะถ้าใช้ let อย่างเดียวละก็" ผมก็รอฟังนะว่ามันจะมีข้อเสียยังไง จะกินทรัพยากรมากกว่าหรือเปล่าหรือจะทำงานช้ากว่า แต่ประโยต่อมาคือ "เราจะไม่ได้ใช้ const เท่าไหร่" อาว หงายเงิบเลย สรุปที่เราต้องใช้ const เพราะกลัวไม่ได้ใช้งั้นเหรอ
มันเป็นเรื่องของคุณภาพของ code ครับ แค่คนอ่านจะอ่านได้ง่ายขึ้นว่าตัวแปรนี้จะไม่ถูกแก้ไขในบรรทัด ต่อไป อย่างเช่น ถ้าใช้ const กับ response จาก api ก็จะบอกได้ว่า response นี้จะไม่ถูกเปลี่ยนในบรรทัดต่อๆไป แต่ถ้าเป็น let อันนี้รู้ได้เลยว่าไม่ได้รับมาอย่างเดียวต้องมีการเปลี่ยนแปลงเกิดขึ้นกับ response นี้แน่นอน