โค้ดยิม/จาวาบล็อก/สุ่ม/มันเป็นอย่างไรบ้าง? หรือโครงการแรกของฉัน
John Squirrels
ระดับ
San Francisco

มันเป็นอย่างไรบ้าง? หรือโครงการแรกของฉัน

เผยแพร่ในกลุ่ม
นี่คือการแปลเรื่องราวความสำเร็จจากชุมชน Java ทั่วโลกของเรา Alex เรียนรู้ Java ในหลักสูตรเวอร์ชันภาษารัสเซีย ซึ่งคุณเรียนเป็นภาษาอังกฤษบน CodeGym ขอให้มันกลายเป็นแรงบันดาลใจในการเรียนรู้เพิ่มเติมของคุณ และบางทีวันหนึ่งคุณคงอยากแบ่งปันเรื่องราวของคุณเองกับเรา :)

การแนะนำ

เล็กน้อยเกี่ยวกับวิธีการที่ฉันเข้าสู่การเขียนโปรแกรม ฉันเป็นครูและนักจิตวิทยาโดยการฝึกอบรม และเป็นเวลา 5 ปีที่ฉันฝึกฝนวิชาชีพได้อย่างประสบความสำเร็จ แต่ด้วยเหตุผลหลายประการ ฉันจึงคิดที่จะย้ายไปอยู่ประเทศอื่นมากขึ้นเรื่อยๆ และเนื่องจากภาษาและข้อบังคับในประเทศอื่นๆ แตกต่างกัน ฉันจึงไม่สามารถเป็นมืออาชีพแบบเดียวกันได้หากไม่ได้รับการฝึกอบรมอย่างจริงจัง ฉันจึงเริ่มมองหาวิธีที่ง่ายกว่าและน่าสนใจในการเคลื่อนไหวและประสบความสำเร็จ มันเป็นอย่างไรบ้าง?  หรือโครงการแรกของฉัน - 1ฉันลองใช้มือของฉันในฐานะช่างสัก (โดยพื้นฐานแล้วไม่จำเป็นต้องมีความรู้ด้านภาษา) แต่นั่นเป็นเรื่องราวของวันอื่น จากนั้นเพื่อนเพื่อนร่วมงานของฉันก็แนะนำให้ฉันรู้จักกับ CodeGym ตอนแรกฉันไม่เชื่อในคำสัญญาที่จะทำให้ฉันเป็นโปรแกรมเมอร์ที่เต็มเปี่ยมด้วยการเล่นเกมในราคาที่พอประมาณ แต่แล้วฉันก็ได้รับเงินวันเกิด (ไม่ต้องเสีย "ภาษีครอบครัว") และต้องเผชิญกับทางเลือกระหว่าง WoW และ CodeGym... ต้องขอบคุณส่วนลดที่ทันเวลา ตาชั่งก็พลิกไปในทิศทางที่ถูกต้อง และฉันอยู่นี่แล้ว อย่างที่เราทุกคนทราบกันดีอยู่แล้วว่า CodeGym นั้นเป็นการฝึกที่บริสุทธิ์ถึง 90% คุณเรียนรู้ที่จะแก้ปัญหางาน คุณเรียนรู้ที่จะค้นหาความรู้ที่คุณขาดบนอินเทอร์เน็ต ทั้งหมดนี้เป็นสิ่งที่ดี แต่สำหรับ 15 เลเวล ฉันไม่สามารถสั่นคลอนความรู้สึกที่ขาดอะไรบางอย่างที่จะทำให้ภาพสมบูรณ์ได้ ฉันคิดที่จะเข้าร่วม GeekBrains แต่ (อาจโชคดี) เพื่อนคนเดียวกันหยุดฉันทันเวลาและแนะนำให้ฉันรู้จักกับ Udemy เมื่อฉันเปิดแหล่งความรู้นี้ ฉันก็เข้าไปพร้อมกับอุทธรณ์: " ปล. เพื่อน คุณเป็นมือใหม่หรือเปล่า?" มีส่วนลดสำหรับคุณ... เพียง 3 วันเท่านั้น — อย่าพลาดโอกาสนี้! " ต่อมาเห็นได้ชัดว่ามีส่วนลดอยู่เสมอ แต่นั่นไม่ใช่ประเด็น ฉันซื้อแพ็คเกจที่มีสองหลักสูตรทันที: Java ตั้งแต่ 0 ถึง Pro และบางอย่างที่คล้ายกันสำหรับ Android และนี่คือจุดเริ่มต้นของเรื่องราวของเรา

สำเร็จหรือล้มเหลว?

ขณะที่ฉันเรียนหลักสูตร Android ฉันก็ต้องทำการบ้านเพื่อสร้างโปรเจ็กต์จากความรู้ใหม่ของฉัน ฉันเป็นคนประเภทที่เชื่อว่าการทำอะไรง่ายๆ หรือธรรมดาก็เหมือนกับการไม่ทำอะไรเลย ดังนั้นฉันจึงเริ่มทำให้ชีวิตซับซ้อนขึ้นทันที ฉันหันไปหาคนที่ฉันรู้จักซึ่งมีจินตนาการที่พัฒนาและสดใสที่สุด นี่คือภรรยาที่รักของฉัน (ใช่ เธอจะอ่านบทความนี้ด้วย) เธอแนะนำให้สร้างแอปที่มีรูปภาพสัตว์ ซึ่งจะมีเสียงสัตว์ที่สอดคล้องกันเมื่อคลิก มันเป็นความคิดที่ดี แต่ก็ยังค่อนข้างเรียบง่าย ฉันเริ่มใช้ข้อเสนอแนะนี้เป็นรากฐาน:
  • แอพนี้ต้องมากกว่าขนปุย (มีเรื่องให้หัวเราะและลืมไป) ฉันอยากให้มันมีคุณค่า เช่น การสอนอะไรบางอย่าง
  • ปล่อยให้มันเป็นตัวอักษรกับสัตว์ แต่ไม่ใช่แค่ตัวอักษรใด ๆ แต่เป็นตัวอักษรภาษาอังกฤษ!
  • และไม่ใช่แค่สัตว์เท่านั้น แต่เป็นสัตว์หายากที่น้อยคนนักจะรู้จัก เพื่อขยายขอบเขตอันไกลโพ้นของพวกเขา!
  • และควรมีแอนิเมชัน การสร้างเสียงชื่อตัวอักษร และชื่อสัตว์ในภาษาอังกฤษและรัสเซีย!
นั่นคือสิ่งที่ฉันเรียกว่าการบ้าน (ฉันลืมบอกไปว่าก่อน CodeGym โดยพื้นฐานแล้วฉันไม่คุ้นเคยกับการเขียนโปรแกรม และผ่านไปไม่ถึง 3-4 เดือนนับจากช่วงเวลาที่ฉันเริ่มใช้เว็บไซต์อย่างแข็งขันจนกระทั่งตอนที่ฉันเริ่มโปรเจ็กต์ ดังนั้น หากคุณ เป็นทหารผ่านศึกในด้านนี้และคุณกำลังคิดว่า " Pff... มีอะไรเปลี่ยนแปลงไปจากเวอร์ชันดั้งเดิมหรือไม่ " ฉันรับรองว่าใช่ มันเปลี่ยนไป)! ปัญหาแรกที่ฉันพบคือการเริ่มต้นโครงการอย่างน่าประหลาด ปรากฎว่า ผู้เขียนไม่ใช่คนเดียวที่มีประสบการณ์ "บล็อกของนักเขียน"... แต่เนื่องจากฉันเป็นนักจิตวิทยา ฉันจึงรู้วิธีแก้ปัญหาของตัวเอง คุณเพียงแค่ต้องเริ่มทำอะไรบางอย่าง อย่างน้อยก็ก้าวเล็กๆ แล้วอย่าหยุด ดังนั้นฉันจึงเริ่มต้นด้วยคลาส Abstract Letter ชั้นเรียนนี้มีสองช่องและต่อมาจะต้องมีวิธีการต่างๆ ในความเป็นจริง ฉันไม่รู้ว่าฉันจะทำอย่างไรกับมัน แต่ฉันต้องทำอะไรบางอย่าง จากนั้น ฉันสร้างคลาสสำหรับตัวอักษรแต่ละตัว ทำให้พวกเขาสืบทอดคลาสนามธรรม ฉันใช้เวลานานมาก และในวันนี้การทำงานวันแรกของฉันก็สิ้นสุดลง วันรุ่งขึ้นฉันลบโปรเจ็กต์แล้วเริ่มใหม่อีกครั้ง ฉันเพิ่งเปิดโครงการเพื่อจดจำสิ่งที่เปลี่ยนแปลงไปตั้งแต่วินาทีที่ฉันอธิบายไว้ข้างต้น และฉันอยากจะบอกว่าทุกอย่างดูดีขึ้นเมื่อฉันทำเสร็จแล้ว แต่ไม่ใช่ ยังมีชั้นเรียนสำหรับตัวอักษรแต่ละตัวจริงๆ... นี่เป็นเพราะความจริงที่ว่าฉันได้รับมอบหมายการบ้านนี้เกือบจะในช่วงเริ่มต้นของหลักสูตร Android และด้วยตัวฉันเองฉันต้องเข้าใจความซับซ้อนของความสัมพันธ์ระหว่าง กิจกรรม (หน้าต่างที่ใช้งานอยู่หรืออะไรทำนองนั้น) กับชั้นเรียน และฉันไม่พบหรือคิดอะไรเลยนอกจากวิธีที่งุ่มง่ามในการเชื่อมโยงชั้นเรียนเฉพาะกับกิจกรรมเฉพาะ อย่างไรก็ตาม หนึ่งในหลักการของการเขียนโปรแกรม (หลีกเลี่ยงการทำซ้ำ) ถูกละเมิด 26 ครั้ง ก่อนอื่นฉันใช้ตัวอักษรสองตัวแรกอย่างสมบูรณ์ (สำหรับฉันดูเหมือน) สร้าง UI คร่าวๆซึ่งประกอบด้วยสองเมนู (เมนูทั่วไปที่อาจจำเป็นเมื่อขยายฟังก์ชันการทำงานและสารบัญซึ่งคุณสามารถข้ามไปที่ใดก็ได้ ของตัวอักษร) ฉันไม่พบปัญหาในการเขียนโปรแกรมมากนัก ขณะที่ฉันดำเนินโครงการอิสระ มีหลายสิ่งหลายอย่าง เช่น ความสัมพันธ์ระหว่างคลาส วิธีการ ฯลฯ ชัดเจนขึ้น และตัวโครงการเองก็กลายเป็นแนวปฏิบัติที่ยอดเยี่ยมในการรวบรวมความรู้ทั้งหมดที่ฉันได้รับไม่เพียงแค่เกี่ยวกับ Android เท่านั้น แต่ยังรวมถึง Java ด้วย ความยากประการที่สองคือว่าจดหมายเปลี่ยนพร้อมๆ กับที่ได้ยินชื่อ การเปลี่ยนผ่าน (การแรเงา) อย่างราบรื่นทำให้ดูเหมือนมีเสียงอยู่ข้างหน้าภาพ แต่เมื่อฉันหน่วงเวลาให้กับเสียง เธรดทั้งหมดก็ค้าง — การเปลี่ยนผ่านนั้นถูกเลื่อนออกไปตามจำนวนความล่าช้า ซึ่งทำให้เกิดผลลัพธ์ที่ไม่พึงประสงค์แบบเดียวกันในภายหลังเท่านั้น จากนั้นฉันก็ตัดสินใจอย่างกล้าหาญที่จะทำให้โปรแกรมของฉันเป็นแบบมัลติเธรด! ฉันย้ายการเล่นเสียงไปยังเธรดแยกต่างหาก โดยมีการหน่วงเวลานานพอที่จะโหลดรูปภาพได้ นี่เป็นเรื่องของมัลติเธรด แต่ฉันภูมิใจที่จะบอกว่าฉันกำลังเขียนแอปแบบมัลติเธรด ปัญหาสุดท้ายคือการเลือกวัสดุที่เหมาะสม คุณคิดว่าภาษาอังกฤษไม่มีสัตว์สำหรับตัวอักษรX (ปรากฎว่าเป็นเช่นนั้น)? ฉันต้องระบุสัตว์ 26 ตัว และค้นหาภาพและเสียงของมัน และบันทึกชื่อตัวอักษร 26 ตัว และสัตว์ 26 ตัว หากฉันทำงานเป็นทีม ฉันคงจะทิ้งงานส่วนนี้ให้กับคนอื่นอย่างเห็นได้ชัด ช่วงเวลาที่น่าเบื่อเช่นนี้ทำลายความปรารถนาที่จะทำงาน และเมื่อไม่มีความปรารถนาก็มีข้อแก้ตัว อย่างไรก็ตามขั้นตอนนี้ใช้เวลาประมาณ 2 สัปดาห์ (ฉันทำโปรเจ็กต์ในเวลาว่างและไม่มีข้อแก้ตัว) โครงการได้รับการประกาศแล้วเสร็จประมาณ 3-4 สัปดาห์หลังจากเริ่มดำเนินการ

คุ้มมั้ยที่จะเรียนโปรแกรมต่อ?

ความท้อแท้ตามมา ประการแรก ฉันไม่ได้รับอนุญาตให้เผยแพร่การบ้านในรายวิชา ฉันทำงานและพยายามอย่างมากที่จะอวด แต่ฉันไม่ได้รับอนุญาต ประการที่สอง แอปของฉันทำงานได้ดีอย่างสมบูรณ์แบบในโปรแกรมจำลองและบนโทรศัพท์ของฉัน สิ่งที่ฉันวางแผนจะทำ ฉันไม่ได้นำแอนิเมชั่นมาใช้ เพราะฉันถ่มน้ำลายและตัดสินใจว่าจะทำมันให้เสร็จเมื่อได้อ่านบทเรียนที่เกี่ยวข้องในหลักสูตรแล้ว แต่เมื่อฉันเริ่มคิดที่จะเผยแพร่แอปพลิเคชัน ฉันกลับพบปัญหาที่น่าสนใจ หลังจากใช้โทรศัพท์และแท็บเล็ตเครื่องอื่นเพื่อตรวจสอบว่าแอปของฉันได้รับการเพิ่มประสิทธิภาพสำหรับหน้าจอที่แตกต่างกันและเวอร์ชันที่แตกต่างกันของ Android หรือไม่ ฉันพบข้อผิดพลาดที่ไม่ทราบสาเหตุ โปรแกรมจะปิดตัวลงเมื่อเปลี่ยนเป็นตัวอักษร ฉันพยายามค้นหาต้นตอของปัญหา ตรวจสอบบันทึก ซึ่งเมื่อเปรียบเทียบกับข้อยกเว้น Java ที่กระชับแล้ว ดูเหมือน Hocus-pocus มากกว่า อินเทอร์เน็ตไม่ได้ช่วยฉัน ประการหนึ่ง ฉันสร้างแอปที่ใช้งานได้ซึ่งลูกๆ ของฉันชอบเล่น ในทางกลับกันมันใช้งานได้บนโทรศัพท์ของฉันเท่านั้น นี่ทำให้ฉันหัวเราะ แน่นอนว่าฉันรู้สึกเสียใจ แต่เมื่อคิดทบทวนแล้ว ฉันจึงสรุปได้ว่าฉันได้รับมากกว่าการสูญเสีย:
  • ฉันรับมือกับคำวิจารณ์งานของฉันได้ดีขึ้น
  • ฉันตระหนักถึงคุณค่าของความรู้และประสบการณ์ในการออกแบบซอฟต์แวร์
  • ฉันเพิ่มความนับถือตนเองในการเขียนโปรแกรม
  • ฉันตระหนักถึงความจำเป็นในการศึกษารูปแบบการออกแบบและพื้นฐานของการปรับโครงสร้างใหม่
  • และอย่างที่บอกไป ตอนนี้ฉันมีแอปของตัวเองแล้ว ซึ่งไม่มีใครมีและคงจะไม่มีวันมีด้วย =)
“ฉันรู้ว่าฉันไม่รู้อะไรเลย” ด้วยการดำเนินโครงการด้านการศึกษาเช่นนี้ คุณจะมีโอกาสที่ดีในการวิเคราะห์สิ่งที่คุณรู้ว่าจุดไหนที่คุณมีความรู้ไม่เพียงพอ และระบุวิธีที่จะก้าวหน้าต่อไป คุ้มค่าไหมที่จะศึกษาการเขียนโปรแกรมต่อไป หากคุณเข้าใจว่าความพยายามทั้งหมดในชีวิตที่ยาวนานได้เปลี่ยนคุณจาก 0 เป็น +0.001 สำหรับฉันคำตอบคือใช่ แล้วคุณล่ะ
ความคิดเห็น
  • เป็นที่นิยม
  • ใหม่
  • เก่า
คุณต้องลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น
หน้านี้ยังไม่มีความคิดเห็นใด ๆ