# พื้นฐานที่ควรต้องรู้

- [Docker](https://www.saladpuk.com/basic/docker-1.md): คอร์ส Docker หลักแสนที่ไม่ต้องจ่ายเงินเรียน 😘
- [Docker Containers](https://www.saladpuk.com/basic/docker-1/containers.md): 🐳 Docker ตอนที่ 2 กับสิ่งที่เรียกว่า คอนเทนเนอร์
- [Docker Exercise 01](https://www.saladpuk.com/basic/docker-1/exercise01.md): ลองใช้งานเจ้าวาฬน้ำเงินครั้งแรกกันแบบละเอียดยิบ 🐳
- [🛠️ Docker Tools](https://www.saladpuk.com/basic/docker-1/tools.md): อยากใช้เจ้าวาฬน้ำเงินแต่ขี้เกียจจำคำสั่งทำไงดี 🤔
- [🗃️ Docker Registry](https://www.saladpuk.com/basic/docker-1/registry.md): แหล่งเก็บ Docker Images ที่ใหญ่ที่สุดในโลก 😍
- [🖼️ Container Image](https://www.saladpuk.com/basic/docker-1/images.md): ลองสร้าง Image ตัวแรกของเรากัน 😉
- [Docker Push](https://www.saladpuk.com/basic/docker-1/push.md): ส่ง 🖼️ Container Images ให้คนอื่นได้ใช้กัน
- [WSL](https://www.saladpuk.com/basic/docker-1/wsl.md): 🤔 อยากใช้ Windows กับ Linux พร้อมกันทำไง
- [Clean Code](https://www.saladpuk.com/basic/clean-code.md): เคยทำความสะอาดโค้ดกันบ้างหรือเปล่า ?
- [Uncle Bob - Clean Code](https://www.saladpuk.com/basic/clean-code/uncle-bob-part-1.md): 🤔 Clean Code ในมุมของปรมาจารย์เขาคิดยังไงบ้างน๊า
- [Uncle Bob - Comments](https://www.saladpuk.com/basic/clean-code/uncle-bob-part-2.md): 🤔 Clean Code - การคอมเมนต์โค้ดของลุงบ๊อบ
- [Uncle Bob - Naming](https://www.saladpuk.com/basic/clean-code/uncle-bob-part-3.md): 🤔 Clean Code - การตั้งชื่อของลุงบ๊อบ
- [Uncle Bob - Mindset](https://www.saladpuk.com/basic/clean-code/uncle-bob-part-4.md): 🤔 Clean Code - แนวคิดของโปรแกรมเมอร์มืออาชีพมีไรบ้าง ?
- [Uncle Bob - TDD](https://www.saladpuk.com/basic/clean-code/uncle-bob-part-5.md): 🤔 เขียนเทสมันจะช่วยให้การออกแบบมันดีขึ้นได้ไง ?
- [Code Smells](https://www.saladpuk.com/basic/code-smells.md): โค้ดคุณส่งกลิ่นเน่าออกมาหรือเปล่า ?
- [สิ่งที่คนเขียนโค้ดมักเข้าใจผิด](https://www.saladpuk.com/basic/mist.md): เราเข้าใจว่ามันต้องเป็นแบบนี้ แล้วรู้ได้ไงว่าเราเข้าใจมันถูก?
- [AI พื้นฐาน](https://www.saladpuk.com/basic/ai.md): มารู้จักกับโลกของ AI กันบ้างว่าจริงๆแล้วมันคืออะไรกัน
- [Git พื้นฐาน](https://www.saladpuk.com/basic/git.md)
- [Git branching strategy](https://www.saladpuk.com/basic/git/branching-strategy.md): 🤔 มืออาชีพเขาทำ Branch ยังไงกันนะ ?
- [Cloud พื้นฐาน](https://www.saladpuk.com/basic/cloud101.md): พื้นฐานของคลาวที่ developer ทุกคนควรต้องรู้
- [UML พื้นฐาน](https://www.saladpuk.com/basic/uml.md): 🤔 เคยสงสัยไหมว่า developer เขาคุยกันเข้าใจได้ยังไง ?
- [Activity Diagram](https://www.saladpuk.com/basic/uml/activity-diagram.md): 🤔 อธิบายของที่ซับซ้อนๆให้เข้าใจง่ายๆด้วยภาพเขาทำกันยังไง?
- [Class Diagram](https://www.saladpuk.com/basic/uml/class-diagram.md): 🤔 ออกแบบคลาสต่างๆร่วมกันกับคนอื่นโดยไม่เขียนโค้ดเขาทำกันยังไง?
- [Sequence Diagram](https://www.saladpuk.com/basic/uml/sequence-diagram.md): 🤔 เราจะอธิบายของต่างๆตอนที่มันคุยกันให้เข้าใจง่ายๆยังไงดี ?
- [Use case Diagram](https://www.saladpuk.com/basic/uml/use-case-diagram.md): 🤔 จะอธิบายสิ่งที่อยู่ในระบบทั้งหมดให้คนอื่นเข้าใจง่ายๆได้ยังไงดีนะ ?
- [บทสรุปการใช้ UML](https://www.saladpuk.com/basic/uml/summary.md): 🤔 ทำไมเราต้องใช้ UML ด้วย? ไม่ใช้ได้ป่าว? ข้อดีข้อเสียคือไร?
- [Data Scientist](https://www.saladpuk.com/basic/data-scientist.md): อยากสร้าง AI ต้องรู้อะไรบ้าง? เตรียมตัวยังไง? ตรงนี้มีคำตอบ
- [การเลือก Algorithms ให้ AI (1/5)](https://www.saladpuk.com/basic/data-scientist/algorithms-category.md): 🤔 Data Scientist เขาเลือก Algorithm ในการแก้ปัญหายังไงกันนะ
- [การเตรียมข้อมูลให้ AI (2/5)](https://www.saladpuk.com/basic/data-scientist/data-ready.md): 🤔 จะสร้าง AI ต้องใช้ข้อมูลแบบไหนมันถึงจะฉลาดๆ
- [หลักการตั้งคำถามให้ AI (3/5)](https://www.saladpuk.com/basic/data-scientist/questions.md): 🤔 จะรีดคำตอบจาก AI ยังไงถึงจะไม่ได้คำตอบขยะกลับมา ?
- [แฉความลับของ AI Model (4/5)](https://www.saladpuk.com/basic/data-scientist/model-work.md): 🤔 AI มันตอบคำถามเราได้ยังไง? มาดูการทำงานที่แท้จริงของมันกัน
- [หัดเขียน AI จาก AI ของคนอื่น (5/5)](https://www.saladpuk.com/basic/data-scientist/ai-gallery.md): 🤔 อยากเขียน AI เก่งๆควรจะต้องทำยังไงบ้างนะ ?
- [DevOps พื้นฐาน](https://www.saladpuk.com/basic/devops.md): 🤔 สงสัยกันไหมว่าการทำซอฟต์แวร์สมัยนี้เขาทำกันยังไงนะ ?
- [Docker ขั้นพื้นฐาน](https://www.saladpuk.com/basic/docker.md): 🤔 อยากให้โปรแกรมเราทำงานได้หมดทุกเครื่องทำไงดี ?
- [Image and Container](https://www.saladpuk.com/basic/docker/image-and-container.md): มาทำความเข้าใจกับ Image กับ Container กันดีกว่า
- [แชร์ Docker Image ที่สร้างไว้](https://www.saladpuk.com/basic/docker/share-image.md): 🤔 Environment ที่เราสร้างไว้จะเอาให้คนอื่นเอาไปใช้ยังไงนะ ?
- [Microservices พื้นฐาน](https://www.saladpuk.com/basic/microservices.md): 🤔 Microservices architecture คืออะไร? ดียังไง? ควรใช้ไหม?
- [Microservices ที่ดีมีลักษณะยังไง](https://www.saladpuk.com/basic/microservices/microservices.md): 🤔 ออกแบบ Microservices Architecture ยังไงถึงจะถือว่าดี ?
- [Microservices Tips](https://www.saladpuk.com/basic/microservices/tips.md): 🤔 ถ้าอยากจะทำ Microservices Architecture มีข้อแนะนำอะไรบ้างนะ ?
- [จาก Monolith สู่ Microservices](https://www.saladpuk.com/basic/microservices/monolith-services.md): 🤔 เวลาเขาถอดชิ้นส่วน Monolith ให้กลายเป็น Microservices เขาทำกันยังไงนะ ?
- [ความรู้พื้นฐานในการทำเว็บ](https://www.saladpuk.com/basic/web-101.md): 🤔 คนทำเว็บควรจะต้องรู้อะไรบ้าง
- [Bottlenecks of Software](https://www.saladpuk.com/basic/bottlenecks.md): อยู่ๆแอพที่ทำก็ช้าเป็นเต่าเฉยเลย เกิดจากอะไรและแก้ไงดี ?
- [หัวใจที่สำคัญที่สุดของฐานข้อมูล](https://www.saladpuk.com/basic/bottlenecks/work-with-db.md): 🤔 ความรู้เบื้องต้นของฐานข้อมูลที่โปรแกรมเมอร์ 90% ไม่รู้
- [Agile Methodology](https://www.saladpuk.com/basic/agile-methodology.md): 🤔 คนเก่งๆเขาการจัดการโปรเจคยังไงให้มีประสิทธิภาพกันนะ ?
- [Agile in a Nutshell](https://www.saladpuk.com/basic/agile-methodology/agile-in-a-nutshell.md): 🤔 โดยทำไมต้องทำ Agile? ขอสรุปแบบเห็นภาพแจ่มๆเลยได้ไหม?
- [Software Development Life Cycle](https://www.saladpuk.com/basic/agile-methodology/sdlc.md): 🤔 รู้ป่าว 80% ที่โปรเจคล่มก็เพราะเรื่องนี้แหละ!! และเราเข้าใจมันถูกหรือยัง? (อธิบายเป็นภาษาคน)
- [Code Review](https://www.saladpuk.com/basic/agile-methodology/code-review.md): 🤔 อยากให้ทีมเก่งขึ้น แต่ไม่มีเวลาสอนทำไงดี ?
- [Security พื้นฐาน](https://www.saladpuk.com/basic/security101.md): เรื่องไม่ลับแต่คนส่วนใหญ่ไม่รู้กับหลักการทำ security
- [การเก็บรหัสผ่านที่ถูกต้อง](https://www.saladpuk.com/basic/security101/secure-password.md): 🤔 ถ้าเราต้องเก็บความลับของลูกค้าไว้ เราจะต้องเก็บยังไงถึงจะเรียกว่าปลอดภัย?
- [Security in actions](https://www.saladpuk.com/basic/security101/security-in-actions.md): 😒 ก็รู้นะว่าสำคัญ แต่เขียนโค้ดเรื่องนี้ไม่เป็น
- [Hash function](https://www.saladpuk.com/basic/security101/security-in-actions/hash-function.md): 😘 ลองเปลี่ยนข้อความธรรมดาให้เป็นฟามลับกันมุ้ย
- [Security Principles](https://www.saladpuk.com/basic/security101/security-principles.md): 🤔 หลักการขั้นพื้นฐานของความปลอดภัยคืออะไรน๊า ?
- [The Matrix 1](https://www.saladpuk.com/basic/security101/the-matrix-1.md): สรุปปม The Matrix ภาค 1 ในมุมของโลกของคอมพิวเตอร์
- [The Matrix 2](https://www.saladpuk.com/basic/security101/the-matrix-2.md): สรุปปม The Matrix ภาค 2 ในมุมของโลกของคอมพิวเตอร์
- [HTTPS in a nutshell](https://www.saladpuk.com/basic/security101/https-in-a-nutshell.md): 🤔 ไม่ได้ปลอดภัยเหมือนที่เราคิด อธิบายหมดเปลือกแบบภาษาชาวบ้าน
- [SOLID Design Principles](https://www.saladpuk.com/basic/solid.md): พื้นฐานในการออกแบบโค้ดที่ควรจะต้องรู้
- [มารู้จักกับ SOLID กันดีกว่า](https://www.saladpuk.com/basic/solid/intro.md)
- [Single-Responsibility Principle](https://www.saladpuk.com/basic/solid/srp.md)
- [Open/Closed Principle](https://www.saladpuk.com/basic/solid/ocp.md)
- [Liskov Substitution Principle](https://www.saladpuk.com/basic/solid/lsp.md)
- [Interface Segregation Principle](https://www.saladpuk.com/basic/solid/isp.md)
- [Dependency-Inversion Principle](https://www.saladpuk.com/basic/solid/dip.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.saladpuk.com/basic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
