ส่งมอบบางสิ่งเล็กๆ ในสัปดาห์นี้
แผนที่เป็นรูปธรรมสำหรับการส่งมอบโปรเจกต์ที่ใช้งานได้ขนาดเล็กในสัปดาห์นี้ ตั้งแต่การกำหนดขอบเขตไปจนถึงการปรับใช้ เมื่อคุณติดอยู่ในการเรียนรู้โดยไม่มีการสร้าง
คนส่วนใหญ่ที่ติดอยู่ในลูปบทช่วยสอนไม่มีปัญหาด้านทักษะ พวกเขามีปัญหาด้านการส่งมอบ คุณสามารถชมเนื้อหา Python ได้สี่สิบชั่วโมง แต่ยังคงหยุดนิ่งเมื่อคุณนั่งลงเพื่อสร้างสิ่งของคุณเอง เพราะบทช่วยสอนลบการตัดสินใจทั้งหมดออกให้คุณ คำแนะนำนี้เป็นฟังก์ชันการบังคับ: เลือกสิ่งที่เล็กน้อย จบมันให้เสร็จ นำมันไปวางไว้หน้าใครสักคน ในสัปดาห์นี้
เลือกโปรเจกต์ที่คุณสามารถจบได้ในสุดสัปดาห์
โหมดความล้มเหลวที่นี่คือขอบเขต ผู้คนตัดสินใจว่าโปรเจกต์แรกของพวกเขาควรเป็นแอป SaaS ที่มี auth, billing และแดชบอร์ด นั่นคือโปรเจกต์หกเดือนอากาศเป็นโปรเจกต์สุดสัปดาห์
แทนที่จะเลือกสิ่งที่มีฟังก์ชันเดียวที่ชัดเจน:
- เครื่องมือ CLI ที่เปลี่ยนชื่อไฟล์ในโฟลเดอร์ตามวันที่ EXIF
- สคริปต์ที่ดึงข้อมูลจาก API สาธารณะและส่งสรุปรายวันให้คุณ
- แอป Flask ที่มีแบบฟอร์มเดียวและหน้าเอาต์พุตเดียว
- ส่วนขยายเบราว์เซอร์ที่เน้นคำสำคัญบนหน้าใดก็ได้ที่คุณเยี่ยมชม
เขียนขอบเขตลงในประโยคเดียวก่อนที่คุณจะเขียนโค้ด ถ้าประโยคต้องการ "และ" มากกว่าหนึ่งครั้ง ให้ตัดมันออก "เครื่องมือที่ติดตามค่าใช้จ่ายของฉัน และจัดหมวดหมู่ด้วย และสร้างแผนภูมิด้วย" คือสามโปรเจกต์ ส่งมอบเครื่องติดตามก่อน
ตั้งกำหนดเวลาจริงและกำหนดเป้าหมายที่แท้จริง
กำหนดเวลาที่ไม่มีผลที่ตามมาไม่ใช่กำหนดเวลา บอกเพื่อน โพสต์ในเซิร์ฟเวอร์ Discord หรือสัญญาว่าจะสาธิตให้เพื่อนร่วมงานดูในวันศุกร์ เป้าหมายสำคัญกว่ากำหนดเวลา — การรู้ว่าใครจะดูสิ่งนี้จริงๆ เปลี่ยนวิธีการสร้าง คุณหยุดการเคลือบทองของสถาปัตยกรรม และเริ่มต้นโดยตรวจสอบให้แน่ใจว่าเส้นทางที่มีความสุขทำงานจริง
ให้ตัวเองเป็นตัวเลข ไม่ใช่ความรู้สึก "ฉันจะทำงานกับมันเมื่อฉันมีเวลา" จะไม่ได้สิ่งใด "สองชั่วโมงคืนนี้ สองชั่วโมงพรุ่งนี้ ส่งมอบเช้าวันเสาร์" จะได้โปรเจกต์
สร้างเวอร์ชันน่าเกลียดก่อน
ข้ามการอภิปรายเกี่ยวกับโครงสร้างโฟลเดอร์ ข้ามการเลือก CSS framework ข้ามการตัดสินใจระหว่าง Postgres และ SQLite สำหรับเครื่องมือที่จะเก็บแถวสี่สิบแถว เขียนไฟล์เดียว ใช้คำสั่ง print() แทน logger ใช้ Python list แทนฐานข้อมูลถ้านั่นคือสิ่งที่คุณต้องการ
# expenses.py - ugly version, and that's fine
import csv
from datetime import date
def add_expense(amount, category):
with open('expenses.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow([date.today().isoformat(), amount, category])
add_expense(12.50, 'coffee')
นั่นคือเครื่องติดตามค่าใช้จ่ายที่ใช้งานได้ มันไม่สามารถปรับขนาดได้ ไม่มีการทดสอบ และจะช่วยให้คุณไป 90% ของวิธีไปยังสิ่งที่คุณสามารถใช้ได้จริงพรุ่งนี้ คุณสามารถรีแฟกเตอร์สิ่งที่น่าเกลียดที่ใช้งานได้ คุณไม่สามารถรีแฟกเตอร์สิ่งที่สวยงามที่ไม่มีอยู่จริง
ปรับใช้ที่ไหนสักแห่าง แม้แต่ในแบบที่ไม่ถูกต้อง
โปรเจกต์บนแล็ปท็อปของคุณไม่นับเป็นการส่งมอบ ส่งไปยังอินเทอร์เน็ตหรือให้ใครคนหนึ่งเรียกใช้ด้วยตนเอง
- เครื่องมือ CLI: พุชไปยังพื้นที่เก็บข้อมูล GitHub สาธารณะพร้อมกับ README สองย่อหน้าแสดงคำสั่งติดตั้งและเรียกใช้ที่แน่นอน
- แอป Web: ปรับใช้ไปยัง Render, Fly.io หรือ DigitalOcean droplet ที่มีราคา 5 เหรียญ — อย่าใช้เวลาสามวันเปรียบเทียบตัวเลือก Kubernetes สำหรับโปรเจกต์ที่มีผู้ใช้คนเดียว
- สคริปต์: ตั้งค่างาน cron หรือ GitHub Action เพื่อให้ทำงานโดยไม่ต้องสัมผัส
การปรับใช้ที่มีแรงเสียดทานจะฆ่าโปรเจกต์ด้านข้างมากกว่าความท้าทายทางเทคนิกใดๆ ถ้า git push ไปยังแพลตฟอร์มเช่น Render มากเกินไปตอนนี้ เพียงบันทึกวิดีโอ Loom 90 วินาทีของมันที่ทำงานในเครื่องและส่งนั้น จุดคือหลักฐานภายนอกที่ใช้งานได้ ไม่ใช่การเก็บรักษาโครงสร้างพื้นฐาน
เขียนว่าอะไรที่หัก
หลังจากส่งมอบ ใช้เวลาสิบห้านาทีเขียนสิ่งสามอย่างที่ผิดพลาดและวิธีที่คุณแก้ไข ไม่สำหรับใครอื่น — สำหรับคุณ นี่คือการเรียนรู้จริง บทช่วยสอนสอนให้คุณไวยากรณ์ pip install ที่หัก CORS error off-by-one date bug ตรงเที่ยงคืน — สิ่งเหล่านี้สอนให้คุณว่าซอฟต์แวร์ทำงานจริงอย่างไร
เก็บบันทึกเหล่านี้ไว้ในไฟล์ที่มีการเรียกใช้เดียว หลังจากห้าหรือหกโปรเจกต์ขนาดเล็ก คุณจะสังเกตเห็นหมวดหมู่ของข้อบกพร่องเดียวกันปรากฏขึ้น และนั่นคือหลักสูตรจริงของคุณ: ช่องว่างที่บทช่วยสอนไม่เคยครอบคลุม
จากนั้นเลือกสิ่งต่อไป ใหญ่ขึ้นเล็กน้อย
อย่าข้ามจากสคริปต์ CLI ไปยังระบบที่กระจายตัว เพิ่มมิติความซับซ้อนหนึ่งครั้ง: โปรเจกต์ถัดไปได้รับฐานข้อมูลแทนที่จะเป็น CSV หรือชุดทดสอบพื้นฐาน หรือผู้ใช้ที่สอง ขั้นตอนเล็กๆ ที่รวมกันนั้นดีกว่าการเขียนใหม่ที่ความมุ่งหมายสูงหนึ่งครั้งที่หยุดชะงักในสัปดาห์ที่สาม
ถ้าคุณต้องการขั้นตอนถัดไปที่มีโครงสร้างหลังจากนี้ ส่วน Python และ DevOps ของ Korra Studio ครอบคลุมช่องว่างการปรับใช้และการใช้เครื่องมือที่มักจะทำให้ผู้คนติดขัดหลังจากโปรเจกต์แรกที่ส่งมอบของพวกเขา
เขียนด้วยความช่วยเหลือของ AI ตรวจสอบและเผยแพร่โดย Michal Pilch (CISSP), Korra Studio
นี่คือบันทึกหนึ่งจากฐานความรู้ของ Korra Studio — แพลตฟอร์มจับคู่หัวข้อแต่ละหัวข้อกับการฝึกสอนแบบ 1-to-1
เริ่มใช้งานฟรีarrow_forward