ผู้เขียน : หลัว ห่าว
หมายเหตุ : ตั้งแต่เปิดตัวโครงการจนถึงการได้มาซึ่งดาว 8w+ เราได้รับข้อเสนอแนะว่าส่วนพื้นฐาน (เนื้อหาในช่วง 15 วันแรก) นั้นยากสำหรับมือใหม่ ขอแนะนำให้มีวิดีโอสนับสนุนมาอธิบาย เมื่อเร็ว ๆ นี้ ส่วนพื้นฐานของเนื้อหาได้ถูกจัดแจงใหม่เป็นโปรเจ็กต์ที่เรียกว่า "Python-Core-50-Courses" เนื้อหาส่วนนี้ได้รับการเขียนใหม่ด้วยวิธีที่เรียบง่ายและเป็นที่นิยมมากขึ้น และมาพร้อมกับคำอธิบายแบบวิดีโอ ดูโกดังแห่งใหม่นี้สิ หากผู้ใช้ในประเทศเข้าถึง GitHub ได้ช้า พวกเขาสามารถติดตาม บัญชี Zhihu ของฉันได้ Python-Jack คอลัมน์ด้านบน "Learn Python from Scratch" เหมาะสำหรับผู้เริ่มต้นมากกว่า คอลัมน์อื่น ๆ เช่น "การคิดข้อมูลและการคิดเชิงสถิติ", "อิงตาม Python " "การวิเคราะห์ข้อมูล" และอื่นๆ ยังมีการสร้างและอัปเดตอย่างต่อเนื่อง ยินดีรับฟัง ชอบใจ และแสดงความคิดเห็นทุกท่าน
เพื่อนที่ต้องการรับวิดีโอการเรียนรู้สามารถสแกนรหัส QR ด้านล่างเพื่อเข้าสู่มินิโปรแกรม WeChat เพื่อดูว่ามีเนื้อหาที่เหมาะกับคุณหรือไม่ เนื้อหาแมชชีนเลิร์นนิงที่ทุกคนนึกถึงมีอยู่ในมินิโปรแกรม ซึ่งเพื่อนร่วมงานและฉันบันทึกไว้ให้คุณ
หากคุณพบปัญหาที่ยากลำบากหรือต้องการทรัพยากรการเรียนรู้ที่เกี่ยวข้องในระหว่างกระบวนการเรียนรู้ คุณสามารถเข้าร่วมกลุ่มการสื่อสาร QQ ต่อไปนี้ได้ คุณสามารถเข้าร่วมกลุ่มใดกลุ่มหนึ่งจากสามกลุ่มได้ โปรดอย่าเข้าร่วมกลุ่มซ้ำ ๆ และอย่าโพสต์ในกลุ่ม การโฆษณาและเนื้อหาลามกอนาจาร หยาบคาย หรือละเอียดอ่อนอื่นๆ หากคุณขาดวินัยในตนเองและจำเป็นต้องจ่ายเงินเพื่อการเรียนรู้ คุณสามารถเพิ่มการแชทส่วนตัวใน WeChat (jackfrued) ของฉันและจดชื่อและความต้องการของคุณไว้ ฉันจะให้คำแนะนำเกี่ยวกับแผนการศึกษาและการวางแผนอาชีพแก่คุณ
วิดีโอสนับสนุนได้รับการอัปเดตอย่างต่อเนื่องใน Douyin และ Bilibili เพื่อนที่สนใจสามารถติดตามบัญชี Douyin หรือ Bilibili ของฉันได้ ฉันเพิ่งเปิดบัญชีของฉันเมื่อเร็ว ๆ นี้ ฉันหวังว่าคุณจะสามารถสนับสนุนฉันได้มาก
"การเรียนรู้ของเครื่องและการเรียนรู้เชิงลึก" ที่ทุกคนเรียกร้องให้อัปเดตหยุดชะงักเนื่องจากเหตุผลส่วนตัวและบริษัท เนื้อหาที่เกี่ยวข้องจะได้รับการอัปเดตในอนาคตอันใกล้นี้ ขอขอบคุณสำหรับการสนับสนุนและความเข้าใจอย่างต่อเนื่องของคุณ
พูดง่ายๆ ก็คือ Python เป็นภาษาโปรแกรมที่ "สง่างาม" "ชัดเจน" และ "เรียบง่าย"
ช่วงการเรียนรู้ต่ำ แม้แต่ผู้ที่ไม่ใช่มืออาชีพก็สามารถเริ่มต้นได้
ระบบโอเพ่นซอร์สพร้อมระบบนิเวศที่แข็งแกร่ง
ภาษาที่ตีความได้ พกพาแพลตฟอร์มได้อย่างสมบูรณ์แบบ
ภาษาที่พิมพ์แบบไดนามิกที่รองรับการเขียนโปรแกรมเชิงวัตถุและฟังก์ชัน
รหัสมีมาตรฐานสูงและอ่านง่าย
Python มีประโยชน์ในด้านต่อไปนี้
การพัฒนาแบ็กเอนด์ - Python/Java/Go/PHP
DevOps - Python/Shell/Ruby
การได้มาของข้อมูล - Python/C++/Java
การซื้อขายเชิงปริมาณ - Python/C++/R
วิทยาศาสตร์ข้อมูล - Python/R/Julia/Matlab
การเรียนรู้ของเครื่อง - Python/R/C++/Julia
การทดสอบอัตโนมัติ - Python/Shell
ในฐานะนักพัฒนา Python มีสาขาการจ้างงานมากมายให้เลือก ตามความต้องการส่วนบุคคลและแผนอาชีพ
วิศวกรพัฒนาแบ็กเอนด์ Python (เซิร์ฟเวอร์ แพลตฟอร์มคลาวด์ อินเทอร์เฟซข้อมูล)
วิศวกรปฏิบัติการและบำรุงรักษา Python (การทำงานและบำรุงรักษาอัตโนมัติ, SRE, DevOps)
นักวิเคราะห์ข้อมูล Python (การวิเคราะห์ข้อมูล ระบบธุรกิจอัจฉริยะ การดำเนินงานดิจิทัล)
วิศวกรการขุดข้อมูล Python (การเรียนรู้ของเครื่อง, การเรียนรู้เชิงลึก, ผู้เชี่ยวชาญด้านอัลกอริทึม)
วิศวกรซอฟต์แวร์รวบรวมข้อมูล Python
วิศวกรทดสอบ Python (การทดสอบอัตโนมัติ, การพัฒนาการทดสอบ)
หมายเหตุ : ในปัจจุบัน การวิเคราะห์ข้อมูลและการทำเหมืองข้อมูลเป็นทิศทางที่ได้รับความนิยมอย่างมาก เนื่องจากทั้งอุตสาหกรรมอินเทอร์เน็ตและอุตสาหกรรมแบบดั้งเดิมมีการสะสมข้อมูลจำนวนมาก และทุกสาขาอาชีพจำเป็นต้องมีนักวิเคราะห์ข้อมูลเพื่อค้นหาข้อมูลเชิงลึกทางธุรกิจจากข้อมูลที่มีอยู่ ให้การสนับสนุนข้อมูลสำหรับการตัดสินใจขององค์กรซึ่งเรียกว่าการตัดสินใจที่ขับเคลื่อนด้วยข้อมูล
คำแนะนำบางประการสำหรับผู้เริ่มต้น:
ทำให้ภาษาอังกฤษเป็นภาษาทำงานของคุณ
การฝึกฝนทำให้สมบูรณ์แบบ
ประสบการณ์ทั้งหมดมาจากความผิดพลาด
อย่าเป็นหนึ่งในปลิง
โดดเด่นหรือออก (ทั้งโดดเด่นหรือออก)
รู้เบื้องต้นเกี่ยวกับ Python - ประวัติความเป็นมาของ Python/ข้อดีและข้อเสียของ Python/สาขาแอปพลิเคชันของ Python
สร้างสภาพแวดล้อมการเขียนโปรแกรม - สภาพแวดล้อม Windows/สภาพแวดล้อม Linux/สภาพแวดล้อม MacOS
รันโปรแกรม Python จากเทอร์มินัล - สวัสดีชาวโลก / ฟังก์ชั่น print
/ รันโปรแกรม
การใช้ IDLE - Interactive Environment (REPL) / เขียนโค้ดหลายบรรทัด / เรียกใช้โปรแกรม / ออกจาก IDLE
ความคิดเห็น - บทบาทของความคิดเห็น/ความคิดเห็นบรรทัดเดียว/ความคิดเห็นหลายบรรทัด
โปรแกรมและฐาน - คำแนะนำและโปรแกรม/เครื่อง Von Neumann/ไบนารีและทศนิยม/ฐานแปดและเลขฐานสิบหก
ตัวแปรและประเภท - การตั้งชื่อตัวแปร/การใช้ตัวแปร/ฟังก์ชัน input
/การตรวจสอบประเภทตัวแปร/การแปลงประเภท
ตัวเลขและสตริง - จำนวนเต็ม/จำนวนจุดลอยตัว/จำนวนเชิงซ้อน/สตริง/การดำเนินการสตริงพื้นฐาน/การเข้ารหัสอักขระ
ตัวดำเนินการ - ตัวดำเนินการทางคณิตศาสตร์/ตัวดำเนินการมอบหมาย/ตัวดำเนินการเปรียบเทียบ/ตัวดำเนินการเชิงตรรกะ/ตัวดำเนินการเอกลักษณ์/ลำดับความสำคัญของตัวดำเนินการ
กรณีสมัคร - แปลงอุณหภูมิฟาเรนไฮต์เป็นอุณหภูมิเซลเซียส / ป้อนรัศมีของวงกลมเพื่อคำนวณเส้นรอบวงและพื้นที่ / ป้อนปีเพื่อพิจารณาว่าเป็นปีอธิกสุรทินหรือไม่
สถานการณ์จำลองการประยุกต์ใช้โครงสร้างสาขา - เงื่อนไข/การเยื้อง/บล็อกโค้ด/ผังงาน
คำสั่ง if - แบบง่าย if
/ if
- โครงสร้าง else
/ if
- elif
- โครงสร้าง else
/ซ้อนกัน if
กรณีการใช้งาน - การรับรองความถูกต้องของผู้ใช้/การแลกเปลี่ยนหน่วยอิมพีเรียลและหน่วยเมตริก/ทอยลูกเต๋าเพื่อตัดสินใจว่าจะทำอย่างไร/การแปลงคะแนนเปอร์เซ็นไทล์เป็นระบบเกรด/การประเมินฟังก์ชันแบบเป็นชิ้น/การป้อนความยาวของด้านทั้งสามและการคำนวณเส้นรอบวงและพื้นที่หากรูปสามเหลี่ยมสามารถเป็นได้ เกิดขึ้น
สถานการณ์การใช้งานของโครงสร้างลูป - เงื่อนไข/การเยื้อง/บล็อคโค้ด/โฟลว์ชาร์ต
while loop - โครงสร้างพื้นฐาน/ คำสั่ง break
/ คำสั่ง continue
for loop - โครงสร้างพื้นฐาน/ประเภท range
/โครงสร้างสาขาในลูป/ลูปซ้อน/จบโปรแกรมก่อนกำหนด
กรณีสมัคร - สรุป 1~100 / การหาจำนวนเฉพาะ / เกมทายตัวเลข / พิมพ์โต๊ะเก้าสิบเก้า / พิมพ์ลวดลายสามเหลี่ยม / ลิงกินลูกพีช / ร้อยเหรียญและไก่หลายร้อยตัว
กรณีคลาสสิก: เกมการพนัน Narcissus Number/Hundred Money และ Hundred Chickens/Craps
คำถามฝึกหัด: ลำดับฟีโบนักชี/เลขสมบูรณ์/เลขเฉพาะ
บทบาทของฟังก์ชัน - กลิ่นเหม็นของโค้ด/การห่อหุ้มโมดูลการทำงานพร้อมฟังก์ชันต่างๆ
กำหนดฟังก์ชัน - def
คำหลัก/ชื่อฟังก์ชัน/รายการพารามิเตอร์/คำสั่ง return
/เรียกใช้ฟังก์ชันที่กำหนดเอง
ฟังก์ชันการโทร - ฟังก์ชันในตัวของ Python/การนำเข้าโมดูลและฟังก์ชัน
พารามิเตอร์ฟังก์ชัน - พารามิเตอร์เริ่มต้น/พารามิเตอร์ตัวแปร/พารามิเตอร์คำหลัก/พารามิเตอร์คำหลักที่มีชื่อ
ส่งกลับค่าของฟังก์ชัน - ไม่มีค่าส่งคืน / ส่งกลับค่าเดียว / ส่งกลับหลายค่า
ปัญหาเกี่ยวกับขอบเขต - ขอบเขตท้องถิ่น/ขอบเขตที่ซ้อนกัน/ขอบเขตส่วนกลาง/ขอบเขตในตัว/คำหลักที่เกี่ยวข้องกับขอบเขต
การใช้ฟังก์ชันการจัดการโมดูล - แนวคิดของโมดูล/การใช้ฟังก์ชันการจัดการโมดูลแบบกำหนดเอง/จะเกิดอะไรขึ้นเมื่อมีข้อขัดแย้งในการตั้งชื่อ (โมดูลเดียวกันและโมดูลต่างกัน)
การใช้สตริง - การคำนวณความยาว/การดำเนินการตัวห้อย/การแบ่งส่วน/วิธีการทั่วไป
การใช้งานพื้นฐานของรายการ - กำหนดรายการ/ใช้ตารางต่อไปนี้เพื่อเข้าถึงองค์ประกอบ/ตัวห้อยอยู่นอกขอบเขต/เพิ่มองค์ประกอบ/ลบองค์ประกอบ/แก้ไของค์ประกอบ/ชิ้น/การเคลื่อนที่แบบวนซ้ำ
การดำเนินการทั่วไปในรายการ - การเชื่อมต่อ/คัดลอก (คัดลอกองค์ประกอบและคัดลอกอาร์เรย์)/ความยาว/เรียงลำดับ/ย้อนกลับ/ค้นหา
สร้างรายการ - ใช้ range
เพื่อสร้างรายการตัวเลข/สร้างนิพจน์/ตัวสร้าง
การใช้สิ่งอันดับ - กำหนดสิ่งอันดับ / ใช้ค่าในสิ่งอันดับ / แก้ไขตัวแปรทูเพิล / สิ่งทูเปิลและการแปลงรายการ
การใช้งานพื้นฐานของชุด - ความแตกต่างระหว่างชุดและรายการ/สร้างชุด/เพิ่มองค์ประกอบ/ลบองค์ประกอบ/ล้าง
การดำเนินการทั่วไปบนเซต - จุดตัด/ยูเนี่ยน/ผลต่าง/ผลต่างสมมาตร/เซตย่อย/ซูเปอร์เซต
การใช้งานพจนานุกรมขั้นพื้นฐาน - คุณลักษณะของพจนานุกรม/สร้างพจนานุกรม/เพิ่มองค์ประกอบ/ลบองค์ประกอบ/รับค่า/ล้าง
การทำงานของพจนานุกรมทั่วไป - วิธี keys
/ วิธี values
/ วิธี items
/ วิธี setdefault
แบบฝึกหัดพื้นฐาน - เอฟเฟกต์ปะรำ/การค้นหาองค์ประกอบที่ใหญ่ที่สุดในรายการ/คะแนนเฉลี่ยของคะแนนทดสอบทางสถิติ/ลำดับฟีโบนัชชี/สามเหลี่ยมหยางฮุย
กรณีที่ครอบคลุม - การเลือกหมายเลขลูกบอลสีคู่ / Tic-Tac-Toe
คลาสและออบเจ็กต์ - คลาสคืออะไร/วัตถุคืออะไร/แนวคิดอื่นๆ ที่เกี่ยวข้องกับเชิงวัตถุ
กำหนดคลาส - โครงสร้างพื้นฐาน/คุณสมบัติและวิธีการ/ตัวสร้าง/ตัวทำลาย/ __str__
str__วิธีการ
การใช้วัตถุ - สร้างวัตถุ/ส่งข้อความไปยังวัตถุ
เสาหลักสี่ประการของการมุ่งเน้นเชิงวัตถุ - นามธรรม/การห่อหุ้ม/การสืบทอด/ความหลากหลาย
แบบฝึกหัดพื้นฐาน - กำหนดชั้นเรียนของนักเรียน/กำหนดคลาสนาฬิกา/กำหนดคลาสกราฟิก/กำหนดคลาสรถยนต์
คุณสมบัติ - คุณสมบัติคลาส/คุณสมบัติอินสแตนซ์/ตัวเข้าถึงคุณสมบัติ/ตัวแก้ไขคุณสมบัติ/ตัวลบคุณสมบัติ/ใช้ __slots__
วิธีการในคลาส - วิธีการอินสแตนซ์/วิธีคลาส/วิธีการคงที่
ตัวดำเนินการโอเวอร์โหลด - __add__
/ __sub__
/ __or__
/ __getitem__
/ __setitem__
/ __len__
/ __gt__
/ __lt__
/ __le__
/ __ge__
/ __ge__ / __eq__
/ __ne__
__contains__
__repr__
ความสัมพันธ์ระหว่างคลาส (วัตถุ) - การเชื่อมโยง/การสืบทอด/การพึ่งพา
การสืบทอดและความหลากหลาย - อะไรคือการสืบทอด / ไวยากรณ์การสืบทอด / การเรียกวิธีการคลาสพาเรนต์ / การแทนที่วิธีการ / การกำหนดประเภท / การสืบทอดหลายรายการ / การสืบทอดเพชร (การสืบทอดเพชร) และอัลกอริทึม C3
ระบบการชำระเงินเดือนที่ครอบคลุม/ระบบส่วนลดหนังสืออัตโนมัติ/หมวดหมู่คะแนนที่กำหนดเอง
พัฒนาโปรแกรม GUI โดยใช้ tkinter
พัฒนาแอพพลิเคชั่นเกมโดยใช้ไลบรารีบุคคลที่สาม pygame
เกม "ลูกใหญ่กินลูกเล็ก"
อ่านไฟล์ - อ่านทั้งไฟล์ / อ่านทีละบรรทัด / เส้นทางไฟล์
เขียนไฟล์ - เขียนทับ/ผนวก/ไฟล์ข้อความ/ไฟล์ไบนารี
การจัดการข้อยกเว้น - ความสำคัญของกลไกข้อยกเว้น / try
- except
บล็อกโค้ด / บล็อกโค้ด else
/ finally
บล็อกโค้ด / ประเภทข้อยกเว้นในตัว / สแต็กข้อยกเว้น / คำสั่ง raise
การคงอยู่ของข้อมูล - ภาพรวมไฟล์ CSV/แอปพลิเคชันของโมดูล csv
/รูปแบบข้อมูล JSON/แอปพลิเคชันของโมดูล json
การดำเนินการขั้นสูงกับสตริง - อักขระ Escape/สตริงดิบ/สตริงหลายบรรทัด/ in
และ not in
ตัวดำเนินการ/ วิธี is_xxx
/ วิธี join
และ split
/ strip
วิธีการที่เกี่ยวข้อง/ โมดูล pyperclip
/ สตริงที่ไม่เปลี่ยนรูปและสตริงตัวแปร/ การใช้ StringIO
ความรู้เบื้องต้นเกี่ยวกับนิพจน์ทั่วไป - บทบาทของนิพจน์ทั่วไป/เมตาอักขระ/การหลบหนี/ปริมาณ/การจัดกลุ่ม/การยืนยันความกว้างเป็นศูนย์/การจับคู่โลภและการจับคู่แบบขี้เกียจ/ใช้โมดูล re
เพื่อใช้การดำเนินการของนิพจน์ทั่วไป (การจับคู่ การค้นหา การแทนที่ การจับภาพ)
การใช้นิพจน์ทั่วไป - โมดูล re
/ ฟังก์ชัน compile
/ วิธี group
และ groups
/ วิธี match
/ วิธี search
/ วิธี findall
และ finditer
/ วิธี sub
และ subn
/ วิธี split
กรณีแอปพลิเคชัน - ใช้นิพจน์ทั่วไปเพื่อตรวจสอบสตริงอินพุต
แนวคิดของกระบวนการและเธรด - กระบวนการคืออะไร / เธรดคืออะไร / สถานการณ์จำลองแอปพลิเคชันแบบมัลติเธรด
การใช้กระบวนการ - ฟังก์ชัน fork
/โมดูล multiprocessing
/พูลกระบวนการ/การสื่อสารระหว่างกระบวนการ
การใช้เธรด - โมดูล threading
/คลาส Thread
/คลาส RLock
/คลาส Condition
/พูลเธรด
พื้นฐานเครือข่ายคอมพิวเตอร์ - ประวัติความเป็นมาของการพัฒนาเครือข่ายคอมพิวเตอร์/โมเดล "TCP-IP"/ที่อยู่ IP/พอร์ต/โปรโตคอล/แนวคิดอื่นๆ ที่เกี่ยวข้อง
โหมดแอปพลิเคชันเครือข่าย - โหมด "ไคลเอนต์ - เซิร์ฟเวอร์" / โหมด "เบราว์เซอร์ - เซิร์ฟเวอร์"
เข้าถึงทรัพยากรเครือข่ายตามโปรโตคอล HTTP - ภาพรวมเครือข่าย API/URL การเข้าถึง/ requests
ไลบรารีบุคคลที่สาม/ข้อมูลรูปแบบแยกวิเคราะห์ JSON
การเขียนโปรแกรมเครือข่าย Python - แนวคิดของซ็อกเก็ต/ โมดูล socket
/ ฟังก์ชั่น socket
/สร้างเซิร์ฟเวอร์ TCP/สร้างไคลเอนต์ TCP/สร้างเซิร์ฟเวอร์ UDP/สร้างไคลเอนต์ UDP
อีเมล - โมดูล SMTP/POP3/IMAP/ smtplib
/ โมดูล poplib
/ โมดูล imaplib
บริการ SMS - โทร SMS Service Gateway
ใช้หมอนเพื่อประมวลผลรูปภาพ - การอ่านและการเขียนรูปภาพ/การสังเคราะห์ภาพ/การแปลงทางเรขาคณิต/การแปลงสี/เอฟเฟ็กต์ฟิลเตอร์
การอ่านและการเขียนเอกสาร Word - การประมวลผลเนื้อหาข้อความ/ย่อหน้า/ส่วนหัวและส่วนท้าย/การประมวลผลรูปแบบ
อ่านและเขียนไฟล์ Excel - xlrd
/ xlwt
/ openpyxl
โครงสร้างข้อมูลทั่วไป
การใช้งานฟังก์ชันขั้นสูง - "พลเมืองชั้นหนึ่ง" / ฟังก์ชั่นลำดับสูงกว่า / ฟังก์ชั่นแลมบ์ดา / ขอบเขตและการปิด / ตกแต่ง
ความรู้ขั้นสูงเกี่ยวกับเชิงวัตถุ - "สามเสาหลัก" / ความสัมพันธ์ระหว่างคลาส / การเก็บขยะ / คุณสมบัติวิเศษและวิธีการ / การผสม / เมตาคลาส / หลักการออกแบบเชิงวัตถุ / รูปแบบการออกแบบ GoF
ตัววนซ้ำและตัวสร้าง - วิธีการเวทย์มนตร์ที่เกี่ยวข้อง/สองวิธีในการสร้างตัวสร้าง /
การเขียนโปรแกรมพร้อมกันและแบบอะซิงโครนัส - มัลติเธรด/หลายกระบวนการ/อะซิงโครนัส IO/ async
และ awai
ใช้แท็ก HTML เพื่อนำเนื้อหาของหน้า
เรนเดอร์เพจด้วย CSS
การจัดการพฤติกรรมเชิงโต้ตอบด้วย JavaScript
เริ่มต้นใช้งาน jQuery และปรับปรุงให้ดีขึ้น
เริ่มต้นใช้งาน Vue.js
การใช้องค์ประกอบ
การใช้บูทสแตรป
ประวัติการพัฒนาระบบปฏิบัติการและภาพรวมของ Linux
คำสั่งพื้นฐานของลินุกซ์
ยูทิลิตี้ใน Linux
ระบบไฟล์ลินุกซ์
แอปพลิเคชั่นแก้ไข Vim
ตัวแปรสภาพแวดล้อมและการเขียนโปรแกรมเชลล์
การติดตั้งซอฟต์แวร์และการกำหนดค่าบริการ
การเข้าถึงและการจัดการเครือข่าย
เนื้อหาอื่นๆ ที่เกี่ยวข้อง
ภาพรวมของฐานข้อมูลเชิงสัมพันธ์
ความรู้เบื้องต้นเกี่ยวกับ MySQL
ติดตั้งMySQL
คำสั่งพื้นฐาน MySQL
สร้างฐานข้อมูลและตาราง
ลบและแก้ไขตาราง
การดำเนินการแทรก
ลบการดำเนินการ
การดำเนินการอัพเดต
การฉายภาพและนามแฝง
กรองข้อมูล
การจัดการค่า Null
ลบรายการที่ซ้ำกัน
เรียงลำดับ
ฟังก์ชันรวม
แบบสอบถามที่ซ้อนกัน
กลุ่ม
เข้าร่วมตาราง
สินค้าคาร์ทีเซียน
เข้าร่วมภายใน
การเชื่อมต่อตามธรรมชาติ
เข้าร่วมด้านนอก
ฟังก์ชั่นหน้าต่าง
กำหนดหน้าต่าง
ฟังก์ชั่นการจัดอันดับ
ฟังก์ชั่นการเข้าถึง
สร้างผู้ใช้
ให้สิทธิ์
เรียกคืนสิทธิ์
ประเภท JSON
ฟังก์ชั่นหน้าต่าง
นิพจน์ตารางทั่วไป
ดู
สถานการณ์การใช้งาน
สร้างมุมมอง
ข้อจำกัดการใช้งาน
การทำงาน
ฟังก์ชั่นในตัว
ฟังก์ชันที่ผู้ใช้กำหนด (UDF)
กระบวนการ
กระบวนการสร้าง
กระบวนการโทร
แผนการดำเนินการ
หลักการของการจัดทำดัชนี
สร้างดัชนี
ดัชนีสามัญ
ดัชนีที่ไม่ซ้ำ
ดัชนีคำนำหน้า
ดัชนีคอมโพสิต
สิ่งที่ควรทราบ
ติดตั้งไลบรารีบุคคลที่สาม
สร้างการเชื่อมต่อ
รับเคอร์เซอร์
ดำเนินการคำสั่ง SQL
ดึงข้อมูลผ่านเคอร์เซอร์
การทำธุรกรรมและการย้อนกลับ
ปล่อยการเชื่อมต่อ
เขียนสคริปต์ ETL
ระบบนิเวศ Hadoop
ภาพรวมของไฮฟ์
การตระเตรียม
ชนิดข้อมูล
การดำเนินการ DDL
การดำเนินการ DML
แบบสอบถามข้อมูล
กลไกการทำงานของเว็บแอปพลิเคชัน
คำขอและการตอบกลับ HTTP
ภาพรวมเฟรมเวิร์ก Django
เริ่มต้นอย่างรวดเร็วใน 5 นาที
การกำหนดค่าฐานข้อมูลเชิงสัมพันธ์
ใช้ ORM เพื่อดำเนินการ CRUD บนโมเดลให้เสร็จสมบูรณ์
การใช้พื้นฐานการจัดการ
แนวทางปฏิบัติที่ดีที่สุดของโมเดล Django
การอ้างอิงคำจำกัดความของโมเดล
โหลดทรัพยากรแบบคงที่
ภาพรวมของ อาแจ็กซ์
ใช้ฟังก์ชันการลงคะแนนเสียงโดยใช้ Ajax
ใช้การติดตามผู้ใช้
ความสัมพันธ์ระหว่างคุกกี้และเซสชัน
การสนับสนุนเซสชันของ Django Framework
การดำเนินการอ่านและเขียนคุกกี้ในฟังก์ชันมุมมอง
แก้ไขส่วนหัวการตอบกลับผ่าน HttpResponse
ใช้ StreamingHttpResponse
เพื่อจัดการไฟล์ขนาดใหญ่
ใช้ xlwt
เพื่อสร้างรายงาน Excel
ใช้ reportlab
เพื่อสร้างรายงาน PDF
ใช้ ECharts เพื่อสร้างแผนภูมิส่วนหน้า
บันทึกการกำหนดค่า
กำหนดค่า Django-Debug-Toolbar
ปรับรหัส ORM ให้เหมาะสม
มิดเดิลแวร์คืออะไร
มิดเดิลแวร์ในตัวของ Django Framework
มิดเดิลแวร์แบบกำหนดเองและสถานการณ์การใช้งาน
ส่งคืนข้อมูลในรูปแบบ JSON
เรนเดอร์เพจด้วย Vue.js
ภาพรวมส่วนที่เหลือ
เริ่มต้นใช้งานไลบรารี DRF
แยกการพัฒนาส่วนหน้าและส่วนหลังออกจากกัน
การประยุกต์ใช้ JWT
ใช้ซีบีวี
เพจข้อมูล
การกรองข้อมูล
กฎข้อแรกของการเพิ่มประสิทธิภาพเว็บไซต์
การใช้ Redis เพื่อให้บริการแคชในโครงการ Django
อ่านและเขียนแคชในฟังก์ชั่นมุมมอง
การใช้มัณฑนากรเพื่อใช้การแคชหน้า
ให้บริการแคชสำหรับอินเทอร์เฟซข้อมูล
การควบคุมแบบฟอร์มการอัพโหลดไฟล์และดูตัวอย่างไฟล์รูปภาพ
วิธีจัดการไฟล์ที่อัพโหลดทางฝั่งเซิร์ฟเวอร์
กฎข้อที่สองของการเพิ่มประสิทธิภาพเว็บไซต์
กำหนดค่าบริการคิวข้อความ
ใช้ Celery เพื่อใช้งานแบบอะซิงโครนัสในโปรเจ็กต์
ใช้ Celery เพื่อดำเนินงานตามกำหนดเวลาในโครงการ
การทดสอบหน่วยใน Python
การสนับสนุนของ Django Framework สำหรับการทดสอบหน่วย
ใช้ระบบควบคุมเวอร์ชัน
การกำหนดค่าและการใช้ uWSGI
การแยกแบบไดนามิกและแบบคงที่และการกำหนดค่า Nginx
กำหนดค่า HTTPS
กำหนดค่าการแก้ไขชื่อโดเมน
แนวคิดของโปรแกรมรวบรวมข้อมูลเว็บและขอบเขตการใช้งาน
การอภิปรายเกี่ยวกับความถูกต้องตามกฎหมายของโปรแกรมรวบรวมข้อมูลเว็บ
เครื่องมือที่เกี่ยวข้องสำหรับการพัฒนาโปรแกรมรวบรวมข้อมูลเว็บ
องค์ประกอบของโปรแกรมรวบรวมข้อมูล
ใช้ requests
ห้องสมุดบุคคลที่สามเพื่อใช้การจับข้อมูล
สามวิธีในการแยกวิเคราะห์หน้า
การแยกวิเคราะห์นิพจน์ทั่วไป
การแยกวิเคราะห์ XPath
การแยกวิเคราะห์ตัวเลือก CSS
มัลติเธรด
หลายกระบวนการ
I/O แบบอะซิงโครนัส
ติดตั้งซีลีเนียม
โหลดหน้า
ค้นหาองค์ประกอบและจำลองพฤติกรรมของผู้ใช้
การรอโดยนัยและการรอที่ชัดเจน
รันโค้ด JavaScript
ซีลีเนียมป้องกันการแตกร้าว
ตั้งค่าเบราว์เซอร์แบบไม่มีหัว
ส่วนประกอบหลักที่ขูด
ขั้นตอนการทำงานที่คัดลอกมา
ติดตั้ง Scrapy และสร้างโครงการ
เขียนโปรแกรมสไปเดอร์
เขียนโปรแกรมมิดเดิลแวร์และไปป์ไลน์
ไฟล์การกำหนดค่า Scrapy
ความรับผิดชอบของนักวิเคราะห์ข้อมูล
สแต็คทักษะนักวิเคราะห์ข้อมูล
ไลบรารีที่เกี่ยวข้องกับการวิเคราะห์ข้อมูล
ติดตั้งและใช้อนาคอนดา
คำสั่งที่เกี่ยวข้องกับ conda
ติดตั้งและใช้งาน jupyter-lab
ติดตั้งและเริ่มต้น
ใช้เคล็ดลับ
สร้างวัตถุอาร์เรย์
คุณสมบัติของวัตถุอาร์เรย์
การดำเนินการจัดทำดัชนีบนออบเจ็กต์อาร์เรย์
ดัชนีสามัญ
ดัชนีแฟนซี
ดัชนีบูลีน
ดัชนีชิ้น
กรณี: การใช้อาร์เรย์เพื่อประมวลผลภาพ
วิธีการที่เกี่ยวข้องของวัตถุอาร์เรย์
รับสถิติเชิงพรรณนา
วิธีการอื่นๆ ที่เกี่ยวข้อง
การดำเนินการอาร์เรย์
การดำเนินการอาร์เรย์และสเกลาร์
อาร์เรย์และการดำเนินการอาร์เรย์
ฟังก์ชันเอกนารีสากล
ฟังก์ชันไบนารี่ทั่วไป
กลไกการออกอากาศ
ฟังก์ชันทั่วไปจำนวนนับ
เวกเตอร์
ปัจจัยกำหนด
เมทริกซ์
พหุนาม
สร้างวัตถุ Series
การดำเนินการกับออบเจ็กต์ Series
คุณสมบัติและวิธีการของวัตถุ Series
สร้างวัตถุ DataFrame
คุณสมบัติและวิธีการของวัตถุ DataFrame
อ่านและเขียนข้อมูลใน DataFrame
การปรับรูปแบบข้อมูล
การต่อข้อมูล
การรวมข้อมูล
การทำความสะอาดข้อมูล
ค่าที่หายไป
ค่าที่ซ้ำกัน
ค่าผิดปกติ
การประมวลผลล่วงหน้า
ข้อมูลเดือย
รับสถิติเชิงพรรณนา
การเรียงลำดับและค่าส่วนหัว
การรวมกลุ่ม
ตารางเดือยและครอสแท็บ
การนำเสนอข้อมูล
คำนวณการเปรียบเทียบปีต่อปี
การคำนวณหน้าต่าง
การกำหนดความเกี่ยวข้อง
การใช้ดัชนี
ดัชนีช่วง
ดัชนีหมวดหมู่
ดัชนีหลายระดับ
ดัชนีช่วงเวลา
ดัชนีวันที่และเวลา
ติดตั้งและนำเข้า matplotlib
สร้างผืนผ้าใบ
สร้างระบบพิกัด
วาดแผนภูมิ
แผนภูมิเส้น
พล็อตกระจาย
แผนภูมิแท่ง
แผนภูมิวงกลม
ฮิสโตแกรม
บ็อกซ์พล็อต
แสดงและบันทึกแผนภูมิ
แผนภูมิขั้นสูง
แผนภูมิฟอง
แผนภูมิพื้นที่
แผนภูมิเรดาร์
แผนภาพดอกกุหลาบ
แผนภูมิ 3 มิติ
ซีบอร์น
แผนภูมิวงกลม
แบบจำลองกระบวนการซอฟต์แวร์
Product Backlog (เรื่องราวของผู้ใช้, ต้นแบบผลิตภัณฑ์)
การวางแผนการประชุม (การประเมินและการจัดทำงบประมาณ)
การพัฒนารายวัน (การประชุมแบบสแตนด์อโลน เทคนิค Pomodoro การเขียนโปรแกรมคู่ การทดสอบก่อน การปรับโครงสร้างโค้ด...)
แก้ไขข้อบกพร่อง (คำอธิบายปัญหา ขั้นตอนในการทำซ้ำ ผู้ทดสอบ ผู้ได้รับมอบหมาย)
รุ่นที่วางจำหน่าย
ทบทวนการประชุม (Showcase ผู้ใช้ต้องเข้าร่วม)
การประชุมย้อนหลัง (จัดทำสรุปรอบการวนซ้ำปัจจุบัน)
บุคคลและการโต้ตอบ เหนือกระบวนการและเครื่องมือ
ซอฟต์แวร์ทำงาน ผ่านเอกสารประกอบที่ละเอียดถี่ถ้วน
ความร่วมมือกับลูกค้า มีความสำคัญมากกว่าการเจรจาสัญญา
การตอบสนองต่อการเปลี่ยนแปลง ย่อมดีกว่าการทำตามแผน
การวิเคราะห์ความเป็นไปได้ (ไม่ว่าจะทำการวิจัยหรือไม่ก็ตาม) และส่งออก "รายงานการวิเคราะห์ความเป็นไปได้"
การวิเคราะห์ความต้องการ (การวิจัยเกี่ยวกับสิ่งที่ต้องทำ) ผลลัพธ์ "ข้อกำหนดข้อกำหนด" และไดอะแกรมต้นแบบอินเทอร์เฟซผลิตภัณฑ์
การออกแบบเค้าร่างและการออกแบบโดยละเอียด แผนภาพแบบจำลองแนวความคิดเอาท์พุต (แผนภาพ ER) แผนภาพแบบจำลองทางกายภาพ แผนภาพคลาส แผนภาพลำดับ ฯลฯ
การเข้ารหัส/การทดสอบ
ออนไลน์/บำรุงรักษา
แบบจำลองกระบวนการคลาสสิก (แบบจำลองน้ำตก)
ข้อเสียที่ใหญ่ที่สุดของโมเดล Waterfall คือไม่สามารถยอมรับการเปลี่ยนแปลงในความต้องการได้ ไม่สามารถเห็นผลิตภัณฑ์ได้จนกว่ากระบวนการทั้งหมดจะเสร็จสิ้น ซึ่งส่งผลให้ขวัญกำลังใจของทีมต่ำ
การพัฒนาแบบ Agile (Scrum) - เจ้าของผลิตภัณฑ์, Scrum Master, นักพัฒนา - Sprint
ภาคผนวก: แถลงการณ์เพื่อการพัฒนาซอฟต์แวร์แบบ Agile
บทบาท: เจ้าของผลิตภัณฑ์ (บุคคลที่ตัดสินใจว่าจะทำอะไรและสามารถตัดสินใจได้ตามความต้องการ), หัวหน้าทีม (แก้ปัญหาต่างๆ, มุ่งเน้นไปที่วิธีการทำงานได้ดีขึ้น และป้องกันอิทธิพลภายนอกต่อทีมพัฒนา), ทีมพัฒนา (ผู้บริหารโครงการ, โดยเฉพาะนักพัฒนาและผู้ทดสอบ)
การเตรียมการ: กรณีทางธุรกิจและเงินทุน สัญญา วิสัยทัศน์ ข้อกำหนดผลิตภัณฑ์เบื้องต้น แผนการออกผลิตภัณฑ์เบื้องต้น การลงทุนในหุ้น การสร้างทีม
โดยทั่วไปทีม Agile จะมีจำนวน 8-10 คน
การประมาณปริมาณงาน: กำหนดปริมาณงานการพัฒนา รวมถึงต้นแบบ การออกแบบโลโก้ การออกแบบ UI การพัฒนาส่วนหน้า ฯลฯ และพยายามแบ่งงานแต่ละงานออกเป็นจำนวนงานขั้นต่ำ มาตรฐานคือเวลาทำงานต้องไม่เกินสองวัน แล้วประมาณระยะเวลาโครงการโดยรวม โพสต์แต่ละงานบนกระดาน Kanban ซึ่งแบ่งออกเป็นสามส่วน: สิ่งที่ต้องทำ (จะแล้วเสร็จ), อยู่ระหว่างดำเนินการ (อยู่ระหว่างดำเนินการ) และเสร็จสิ้น (เสร็จสิ้น)
การก่อตัวของทีมงานโครงการ
ความคิดเห็นเกี่ยวกับโค้ดน้อยเกินไปหรือไม่มีความคิดเห็นเลย
โค้ดทำลายแนวทางปฏิบัติที่ดีที่สุดของภาษา
การเขียนโปรแกรมต่อต้านรูปแบบ (โค้ดสปาเก็ตตี้, การเขียนโปรแกรมคัดลอกและวาง, การเขียนโปรแกรมอัตตา,...)
องค์ประกอบและบทบาทของทีม
หมายเหตุ: ขอขอบคุณคุณ Fu Xiangying ที่ช่วยฉันวาดแผนผังองค์กรของบริษัทที่สวยงามดังต่อไปนี้
ข้อมูลจำเพาะการเขียนโปรแกรมและการตรวจสอบโค้ด ( flake8
, pylint
)
"อนุสัญญา" บางอย่างใน Python (โปรดอ้างอิงถึง "อนุสัญญา Python - วิธีเขียนโค้ด Pythonic")
เหตุผลที่ส่งผลต่อความสามารถในการอ่านโค้ด:
ความรู้เบื้องต้นเกี่ยวกับเครื่องมือในการพัฒนาทีม
โปรดดูที่ "ปัญหาและแนวทางแก้ไขในการพัฒนาโครงการทีม"
การควบคุมเวอร์ชัน: Git, Mercury
การจัดการข้อบกพร่อง: Gitlab, Redmine
เครื่องมือวงปิดแบบ Agile: ZenTao, JIRA
การบูรณาการอย่างต่อเนื่อง: เจนกินส์, Travis-CI
การตั้งค่าขอบเขตหัวข้อ
CMS (ไคลเอนต์): เว็บไซต์รวบรวมข่าวสาร ชุมชนถามตอบ/แบ่งปัน เว็บไซต์วิจารณ์ภาพยนตร์/วิจารณ์หนังสือ ฯลฯ
MIS (ฝั่งผู้ใช้ + ฝั่งการจัดการ): KMS, ระบบประเมิน KPI, HRS, ระบบ CRM, ระบบห่วงโซ่อุปทาน, ระบบการจัดการคลังสินค้า ฯลฯ
แบ็กเอนด์ของแอป (เทอร์มินัลการจัดการ + อินเทอร์เฟซข้อมูล): ธุรกรรมมือสอง หนังสือพิมพ์และนิตยสาร อีคอมเมิร์ซเฉพาะกลุ่ม ข่าวและข้อมูล การท่องเที่ยว โซเชียลเน็ตเวิร์ก การอ่าน ฯลฯ
ประเภทอื่นๆ: มีพื้นฐานในอุตสาหกรรมและประสบการณ์การทำงานเป็นของตัวเอง ธุรกิจเข้าใจและควบคุมได้ง่าย
ความเข้าใจความต้องการ การแบ่งโมดูล และการจัดสรรงาน
ความเข้าใจความต้องการ: การระดมความคิดและการวิเคราะห์ผลิตภัณฑ์เชิงแข่งขัน
การแบ่งโมดูล: วาดแผนผังความคิด (XMind) แต่ละโมดูลเป็นโหนดสาขาและแต่ละฟังก์ชันเฉพาะคือโหนดใบ (แสดงด้วยคำกริยา) จำเป็นเพื่อให้แน่ใจว่าแต่ละโหนดใบไม่สามารถสร้างโหนดใหม่และกำหนดแต่ละโหนดได้ ความสำคัญ ลำดับความสำคัญ และภาระงานของโหนด
การจัดสรรงาน: หัวหน้าโครงการมอบหมายงานให้กับสมาชิกในทีมแต่ละคนตามตัวบ่งชี้ข้างต้น
พัฒนาตารางโครงการ (อัพเดททุกวัน)
โมดูล | การทำงาน | บุคลากร | สถานะ | เสร็จ | ชั่วโมงการทำงาน | แผนเริ่มต้นขึ้น | เริ่มต้นจริง | แผนสิ้นสุดลง | สิ้นสุดจริง | หมายเหตุ |
---|---|---|---|---|---|---|---|---|---|---|
ความคิดเห็น | เพิ่มความคิดเห็น | วังดาจุ้ย | อย่างต่อเนื่อง | 50% | 4 | 7/08/2018 | 7/08/2018 | |||
ลบความคิดเห็น | วังดาจุ้ย | รอ | 0% | 2 | 7/08/2018 | 7/08/2018 | ||||
ดูความคิดเห็น | ไป๋ หยวนฟาง | อย่างต่อเนื่อง | 20% | 4 | 7/08/2018 | 7/08/2018 | จำเป็นต้องมีการตรวจสอบโค้ด | |||
โหวตความคิดเห็น | ไป๋ หยวนฟาง | รอ | 0% | 4 | 8/8/2018 | 8/8/2018 |
OOAD และการออกแบบฐานข้อมูล
แผนภาพคลาสสำหรับ UML (Unified Modeling Language)
สร้างตารางผ่านโมเดล (วิศวกรรมไปข้างหน้า) ตัวอย่างเช่น ในโครงการ Django คุณสามารถสร้างตารางสองมิติผ่านคำสั่งต่อไปนี้
หลาม Manage.py แอพ makemigrations หลาม Manage.py โยกย้าย
ใช้ PowerDesigner เพื่อวาดไดอะแกรมแบบจำลองทางกายภาพ
สร้างโมเดล (วิศวกรรมย้อนกลับ) ผ่านตารางข้อมูล ตัวอย่างเช่น ในโปรเจ็กต์ Django คุณสามารถสร้างโมเดลผ่านคำสั่งต่อไปนี้
หลาม Manage.py inspectdb > app/models.py
ความรู้เบื้องต้นเกี่ยวกับนักเทียบท่า
ติดตั้งนักเทียบท่า
สร้างคอนเทนเนอร์โดยใช้ Docker (Nginx, MySQL, Redis, Gitlab, Jenkins)
สร้างอิมเมจ Docker (การเขียน Dockerfile และคำแนะนำที่เกี่ยวข้อง)
การจัดวางคอนเทนเนอร์ (นักเทียบท่าเขียน)
การจัดการคลัสเตอร์ (Kubernetes)
หลักการพื้นฐาน
เครื่องยนต์ InnoDB
การใช้ดัชนีและข้อควรระวัง
พาร์ติชั่นข้อมูล
การเพิ่มประสิทธิภาพ SQL
การเพิ่มประสิทธิภาพการกำหนดค่า
การเพิ่มประสิทธิภาพสถาปัตยกรรม
หลักการออกแบบ
คำถามสำคัญ
คำถามอื่นๆ
การเขียนเอกสาร
การกำหนดค่าฐานข้อมูล (หลายฐานข้อมูล, การจำลองแบบมาสเตอร์-สเลฟ, การกำหนดเส้นทางฐานข้อมูล)
การกำหนดค่าแคช (พาร์ติชั่นแคช, การตั้งค่าคีย์, การตั้งค่าการหมดเวลา, การจำลองแบบมาสเตอร์-สเลฟ, การกู้คืนความล้มเหลว (Sentinel))
การกำหนดค่าบันทึก
การทำโปรไฟล์และการดีบัก (Django-Debug-ToolBar)
โมดูล Python ที่มีประโยชน์ (การคำนวณวันที่, การประมวลผลภาพ, การเข้ารหัสข้อมูล, API บุคคลที่สาม)
สถาปัตยกรรมอันเงียบสงบ
ทำความเข้าใจกับสถาปัตยกรรม RESTful
แนวทางการออกแบบ RESTful API
แนวทางปฏิบัติที่ดีที่สุดของ RESTful API
การเขียนเอกสารอินเทอร์เฟซ API
แร็พ2
ยาปี
การประยุกต์ใช้เฟรมเวิร์ก django-REST
ใช้แคชเพื่อลดความกดดันของฐานข้อมูล - Redis
ใช้คิวข้อความสำหรับการแยกส่วนและการตัดยอดสูงสุด - Celery + RabbitMQ
ประเภทของการทดสอบ
เขียนการทดสอบหน่วย ( unittest
, pytest
, nose2
, tox
, ddt
,...)
ความครอบคลุมการทดสอบ ( coverage
)
การเตรียมตัวก่อนใช้งาน
การตั้งค่าคีย์ (SECRET_KEY / DEBUG / ALLOWED_HOSTS / แคช / ฐานข้อมูล)
HTTPS/CSRF_COOKIE_SECUR/SESSION_COOKIE_SECURE
บันทึกการกำหนดค่าที่เกี่ยวข้อง
การตรวจสอบคำสั่ง Linux ทั่วไป
การติดตั้งและกำหนดค่าบริการ Linux ทั่วไป
การใช้ uWSGI/Gunicorn และ Nginx
สำหรับแอปพลิเคชันง่ายๆ ที่ไม่ต้องการการปรับแต่งมากนัก Gunicorn เป็นตัวเลือกที่ดี เส้นโค้งการเรียนรู้ของ uWSGI นั้นชันกว่า Gunicorn มาก และพารามิเตอร์เริ่มต้นของ Gunicorn ก็สามารถปรับให้เข้ากับแอปพลิเคชันส่วนใหญ่ได้แล้ว
uWSGI รองรับการปรับใช้ที่แตกต่างกัน
เนื่องจาก Nginx รองรับ uWSGI เอง โดยทั่วไปแล้ว Nginx และ uWSGI จึงถูกใช้งานร่วมกันทางออนไลน์ และ uWSGI ก็เป็นมิดเดิลแวร์ WSGI ที่ทำงานได้อย่างสมบูรณ์และปรับแต่งได้สูง
ในแง่ของประสิทธิภาพ Gunicorn และ uWSGI ทำงานได้ดีพอๆ กัน
การเปรียบเทียบ Gunicorn และ uWSGI
ปรับใช้สภาพแวดล้อมการทดสอบและสภาพแวดล้อมการผลิตโดยใช้เทคโนโลยีการจำลองเสมือน (นักเทียบท่า)
การใช้เอบี
การใช้ SQLslap
การใช้ซิสเบนช์
การทดสอบอัตโนมัติโดยใช้ Shell และ Python
การทดสอบอัตโนมัติโดยใช้ซีลีเนียม
ซีลีเนียม IDE
ซีลีเนียมเว็บไดร์เวอร์
รีโมทคอนโทรลซีลีเนียม
ข้อมูลเบื้องต้นเกี่ยวกับเครื่องมือทดสอบ Robot Framework
รูปแบบธุรกิจและประเด็นความต้องการ
การออกแบบแบบจำลองทางกายภาพ
การเข้าสู่ระบบของบุคคลที่สาม
การอุ่นเครื่องแคชและการแคชแบบสอบถาม
การใช้งานตะกร้าสินค้า
บูรณาการฟังก์ชั่นการชำระเงิน
ปัญหาการขายแฟลชและการขายมากเกินไป
การจัดการทรัพยากรแบบคงที่
โซลูชันการค้นหาข้อความแบบเต็ม
การปรับแต่งฐานข้อมูล MySQL
การเพิ่มประสิทธิภาพการทำงานของเว็บเซิร์ฟเวอร์
การกำหนดค่าสมดุลโหลด Nginx
Keepalive ทำให้มีความพร้อมใช้งานสูง
การปรับแต่งประสิทธิภาพของโค้ด
มัลติเธรด
การซิงโครไนซ์
การเพิ่มประสิทธิภาพการเข้าถึงทรัพยากรแบบคงที่
ที่เก็บข้อมูลบนคลาวด์
ซีดีเอ็น
พื้นฐานคอมพิวเตอร์
ข้อมูลพื้นฐานเกี่ยวกับหลาม
กรอบเว็บที่เกี่ยวข้อง
ปัญหาที่เกี่ยวข้องกับสัตว์เลื้อยคลาน
การวิเคราะห์ข้อมูล
ที่เกี่ยวข้องกับโครงการ