JavaRush /จาวาบล็อก /Random-TH /เริ่มจากจุดเริ่มต้นหรือ 'Hello, Java World!'
articles
ระดับ

เริ่มจากจุดเริ่มต้นหรือ 'Hello, Java World!'

เผยแพร่ในกลุ่ม
ฉันต้องการเริ่มบทความนี้ด้วยการพูดนอกเรื่องที่ผิดปกติเมื่อมองแวบแรก ต่อมาจะชัดเจนว่าทำไมกันแน่
เริ่มจากจุดเริ่มต้นหรือสวัสดี Java World!  - 1
ลองจินตนาการถึงใครบางคน คนนี้อยากเชี่ยวชาญการเล่นสกีอัลไพน์ และสำหรับสิ่งนี้เขาทำตามขั้นตอนต่อไปนี้:
  • อาจารย์ผู้สอน หนังสือเรียน คู่มือ ฯลฯ - ทั้งหมดนี้มาจากความชั่วร้าย คุณสามารถเรียนรู้การเล่นสกีได้ด้วยตัวเอง นอกจากนี้ที่โรงเรียนเขาได้เรียนรู้การเล่นสกีข้ามประเทศเป็นอย่างดี ดังนั้นคำแนะนำทั้งหมดจากผู้มีความรู้มากกว่าจึงถูกละเลย

  • เลือกใช้อุปกรณ์ที่เจ๋งที่สุด ไม่ต่ำกว่าระดับผู้เชี่ยวชาญ รองเท้าบูทแข็งที่ทำร้ายเท้าของคุณ ฮาร์ดสกีที่ต้องใช้ความพยายามอย่างมากในการโค้งงอ ซึ่งเกินระดับสมรรถภาพทางกายของใครบางคนมาก อืม ฯลฯ

  • สนามทดสอบคือ... สมมุติว่าเป็นสนามที่ใช้จัดเวทีสลาลมยักษ์ฟุตบอลโลก แค่นี้ก็เหมาะแก่การเรียนแล้ว..
  • ดำเนินไปในจิตวิญญาณเดียวกัน
นี่คือคำถาม คุณจะเรียกคนนี้ว่าอะไร? โดยส่วนตัวแล้วในฐานะคนที่คุ้นเคยกับการเล่นสกีอัลไพน์มาประมาณ 20 ปีฉันจะเรียกเขาว่า (ซึ่งก็ยังเบามาก!) - สิ้นหวัง เป็นไปไม่ได้เลยที่จะเรียนรู้สิ่งใดด้วยวิธีนี้ แต่ทางที่จะบาดเจ็บได้แน่นอน และสิ่งที่แน่นอนที่สุดคือละทิ้งความคิดเรื่องการเล่นสกีไปตลอดกาล ฉันคิดว่าคุณจะเห็นด้วยกับฉันในการประเมินนี้ ไม่ว่าในกรณีใดฉันเกือบจะแน่ใจว่าคน ๆ นี้จะไม่คาดหวังว่าจะกล่าวถึงสิ่งที่ไม่พึงประสงค์กับเขา ทีนี้ลองจินตนาการถึงใครบางคนอีกคนหนึ่ง ให้เขาเป็นนักศึกษาวิทยาการคอมพิวเตอร์ เขามีความรู้เกี่ยวกับ C++, C#, Pascal บ้าง เขาต้องการเรียนรู้ภาษาจาวา การกระทำของเขา:
  • วรรณกรรมที่สอดคล้องกับระดับความรู้ของเขา (ระดับศูนย์พูดตามตรง) ถูกกวาดล้างออกไป ขึ้นอยู่กับความคุ้นเคยเล็กน้อยกับทฤษฎี C++, C# และ OOP ที่กล่าวถึง
  • สภาพแวดล้อมการเขียนโปรแกรมที่ทรงพลังที่สุดถูกนำมาใช้ สมมติว่า Eclipse หรือ NetBeans ที่ทำทุกอย่างเองเพียงกดปุ่มเดียว
  • เป็นการสมัครทดลองใช้ เราเลือก... เอาล่ะ สมมติว่าแชท แอปพลิเคชันไคลเอ็นต์-เซิร์ฟเวอร์ ส่วนของไคลเอ็นต์ในรูปแบบของแอปเพล็ต ส่วนของเซิร์ฟเวอร์ - บริการเว็บ หรือที่แย่ที่สุดคือเซิร์ฟเล็ต เหมาะแก่การเรียนครับ.
คำถาม. คุณจะเรียกคนนี้ว่าอะไร? คุณรู้ไหมว่าความขัดแย้งคืออะไร? ความจริงก็คือในกรณีนี้จะมีการประเมินที่เป็นกลางน้อยลงอย่างมาก แม้ว่าสถานการณ์จะเหมือนกันทุกประการก็ตาม เว้นแต่ผลที่ตามมาต่อสุขภาพและชีวิตในกรณีที่สองมีอันตรายถึงชีวิตน้อยกว่า บางทีนี่อาจเป็นปัญหา? สถานการณ์คล้ายกันมากจริงๆ ฉันอธิบายไว้โดยเฉพาะในลักษณะเดียวกัน และสิ่งแปลก: หากความไร้สาระของข้อแรกชัดเจน สถานการณ์ที่สองก็ตามมาด้วยนักพัฒนามือใหม่จำนวนมากที่น่าตกใจ การเรียนรู้ Java เริ่มต้นด้วยการเขียน MIDlets ไคลเอนต์สำหรับฐานข้อมูล แชท การสร้างเว็บไซต์ตามเซิร์ฟเล็ต... คุณสามารถดำเนินต่อไปได้เป็นเวลานาน แต่ประเด็นก็ยังชัดเจน ในขณะเดียวกัน วรรณกรรมระดับเริ่มต้นก็ถูกละทิ้งด้วยการดูถูกเหยียดหยาม อ่านนี่? ถึงฉัน? ใช่แล้ว ฉันเขียนด้วยภาษา C++ มาสามปีแล้ว! (ตัวเลือกอยู่ใน Pascal และแม้กระทั่งใน Visual Basic) และฉันรู้ OOP! โดยทั่วไปแล้ว แล้วจะเป็นอย่างไรต่อไป? แล้วสิ่งนี้:
  • จะแปลงอาร์เรย์ 8 ไบต์ให้ยาวได้อย่างไร
  • ทำไมสิ่งนี้ถึงเกิดขึ้นNoClassDefFoundError?
  • เหตุใดฉันจึงเปิดแอปพลิเคชันใน Eclipse ( NetBeans/IDEA/JBuilder) และทุกอย่างเรียบร้อยดี แต่ถ้าไม่มีแอปพลิเคชัน ฉันจึงพิมพ์java HelloWorld.classและมีข้อผิดพลาดเกิดขึ้น
  • ทำไมมันถึงพังClassNotFoundException?
  • ทำไมไม่มีห้องสมุดล่ะ? ฉันใส่มันไว้ใน class.zip แล้ว แต่ทั้งหมดนี้กลับไม่มีประโยชน์เลย!
  • เหตุใดฉันจึงสร้างอาร์เรย์ของวัตถุ แต่เมื่อฉันพยายามใช้องค์ประกอบของอาร์เรย์ฉันจะได้NullPointerExceptionรับ
  • และทำไม ...?
  • และทำไม ...?
  • และทำไม ...?
ทำไม ทำไม ทำไม? แต่เนื่องจาก Java ไม่ใช่ C++ หรือ Pascal และไม่ใช่เพิร์ล ความรู้เกี่ยวกับภาษาเหล่านี้ไม่เพียงแต่มักจะไม่ได้ช่วย แต่ยังเป็นอุปสรรคอีกด้วย หากเพียงเพราะภาษาเหล่านี้มีอุดมการณ์ที่แตกต่างกันโดยสิ้นเชิง แต่ความคล้ายคลึงภายนอกทำให้เข้าใจผิด แน่นอนว่า "ทำไม" และ "อย่างไร" ทั้งหมดนี้ล้วนมีคำตอบอยู่ในหนังสือ ในวรรณคดีระดับพื้นฐานที่สุด แต่การอ่านมันขี้เกียจ (ตัวเลือก: อับอาย ไม่มีเวลา ฯลฯ) ฉันรู้จักแบบเหมารวมค่อนข้างมากที่ผู้เชี่ยวชาญ C++ ดีๆ ถ่ายโอนไปยัง Java ตัวอย่างล่าสุด: คุณไม่ควรทิ้งข้อยกเว้นในตัวสร้าง ทำไม ใช่ เนื่องจากในภาษา C++ สถานะของวัตถุดังกล่าวไม่ได้ถูกกำหนดไว้ ดังนั้นหน่วยความจำรั่วจึงเกิดขึ้น โดยหลักการแล้วใน Java ไม่มีปัญหาดังกล่าวเนื่องจากมีตัวรวบรวมขยะ อย่างไรก็ตาม มีผู้ที่พยายามหลีกเลี่ยงสถานการณ์ดังกล่าว เพียงตามแบบแผนที่ฝังแน่น และสิ่งที่แย่ที่สุดคือจากความพยายามเหล่านี้ โค้ดจึงมีความซับซ้อนมากขึ้น ไวยากรณ์ง่ายต่อการเรียนรู้ และไม่เพียงพอโดยสิ้นเชิง อุดมการณ์ของภาษามีความสำคัญมากกว่ามาก และเพื่อที่จะเชี่ยวชาญมันได้อย่างมีประสิทธิภาพสูงสุด คุณควรเริ่มจากจุดเริ่มต้น ทำไมกันแน่และอย่างไร? และนี่คือคำถามอื่น ดังนั้น. จะเริ่มที่ไหนและอย่างไร ขึ้นอยู่กับสิ่งที่คุณต้องการบรรลุ หากคุณต้องการเป็นลิงเขียนโค้ดที่มีทักษะ คุณสามารถเริ่มต้นจากเกือบทุกอย่าง หากคุณต้องการเป็นมืออาชีพ สิ่งต่างๆ จะซับซ้อนกว่านี้เล็กน้อย ประสบการณ์ของฉันทำให้ฉันมีเหตุผลที่จะพูดต่อไปนี้ ความแตกต่างระหว่างนักพัฒนามืออาชีพและ "ผู้เขียนโค้ด" คือเขาเข้าใจสิ่งที่เกิดขึ้น เขาทำมากกว่าการกดปุ่มเล็กน้อย สภาพแวดล้อมที่ทรงพลังเป็นความช่วยเหลือที่ดีมาก สำหรับผู้ที่สามารถทำได้โดยไม่ต้องมัน แต่มักเป็นเพียงเครื่องมือเดียวของผู้ที่เริ่มต้นด้วยมัน และหากไม่มีอยู่ ค่าของลิงเข้ารหัสจะเป็นศูนย์ เพราะไม่มีปุ่มให้กด โดยทั่วไปแล้ว การกดปุ่มอาจมีรูปแบบที่เลวร้ายอย่างแท้จริง เพื่อนร่วมงานคนหนึ่งของฉันเห็นผลิตภัณฑ์ที่เขียนด้วยภาษา Java คำแนะนำในการติดตั้งเริ่มต้นด้วยคำว่า: “ติดตั้ง JBuilder จากดิสก์…” ตอนนี้สิ่งนี้ถึงขั้นร้ายแรงแล้ว หากนักพัฒนาไม่สามารถทำให้ผลิตภัณฑ์ทำงานได้หากไม่มีสภาพแวดล้อมการพัฒนา ฉันก็รู้สึกสั่นเมื่อคิดว่ามันเขียนขึ้นมาอย่างไร อย่างน้อยที่สุดก็เขียนโดยมือสมัครเล่น ฉันหมายถึงอะไรโดย "เข้าใจสิ่งที่เกิดขึ้น" ซึ่งหมายความว่าบุคคลจะต้องเข้าใจสิ่งต่อไปนี้:
  • Virtual Machine คืออะไร และเหตุใดจึงจำเป็น?
  • คลาสคืออะไรจากมุมมองของเครื่องเสมือน
  • แพ็คเกจคืออะไร?
  • ห้องสมุดคืออะไร?
  • เครื่องเสมือนค้นหาและโหลดคลาสอย่างไร คลาสโหลดเดอร์คืออะไรและทำงานอย่างไร โดยค่าเริ่มต้นมีกี่อัน classpath คืออะไร
ฯลฯ และอื่น ๆ รายการดำเนินต่อไป โปรดทราบว่าฉันไม่ได้รวมความรู้เฉพาะสำหรับนักพัฒนาเอง เธรดคืออะไร คลาสคืออะไรจากมุมมองของ OOP และมันแตกต่างจากออบเจ็กต์อย่างไร ตัวจัดการเลย์เอาต์ทำงานอย่างไร - นักพัฒนาทุกคนควรรู้ทั้งหมดนี้ ทุกสิ่งที่ฉันระบุไว้นั้นเป็นเรื่องของทางเทคนิคมากกว่า แต่บ่อยครั้งที่การรู้สิ่งเหล่านี้มีความสำคัญต่อการทำความเข้าใจว่าอะไรกำลังผิดพลาด ตัวอย่างจากชีวิต มีไลบรารีสำหรับการทำงานกับ XML ที่เรียกว่า xalan ประกอบด้วยแพ็คเกจ javax.xml... หลายแพ็คเกจ - ตัวแยกวิเคราะห์ หม้อแปลง ฯลฯ ห้องสมุดแห่งนี้ได้รับความนิยมอย่างมาก ปัญหาคือมีแพ็คเกจเดียวกันเหล่านี้อยู่ใน J2SDK ตั้งแต่เวอร์ชัน 1.4 คำถาม. คลาสใดที่จะถูกโหลดเมื่อเข้าถึงคลาส javax.xml.transform.stream.StreamSource จากไลบรารี หากมี xalan อยู่ใน classpath - ไลบรารีหรือจาก J2SDK ด้วย เพื่อตอบคำถามนี้ คุณจำเป็นต้องรู้ว่าตัวโหลดคลาสทำงานอย่างไร ฉันเคยเห็นการสนทนาสี่วันในฟอรัมหนึ่งซึ่งท้ายที่สุดก็มาถึงปัญหานี้ รหัสทำงานไม่ถูกต้องแม่นยำเนื่องจากตัวโหลดไม่ได้ใช้คลาสที่คาดหวัง ฉันกำลังทำอะไรอยู่? สิ่งสำคัญคือ ยิ่งสภาพแวดล้อมการพัฒนามีประสิทธิภาพมากเท่าไร นักพัฒนาก็จะยิ่งทำประโยชน์ได้มากขึ้นเท่านั้น เขาก็ยิ่งต้องคิดน้อยลงเท่านั้น และนี่ก็ช่างเลวร้ายเหลือเกิน ใกล้กับลิงมาก สิ่งนี้นำไปสู่ข้อสรุปแรกไม่ว่ามันจะดูขัดแย้งกันแค่ไหนก็ตาม:

ข้อสรุป 1. ขอแนะนำให้เริ่มเรียนรู้ Java โดยไม่มีสภาพแวดล้อมที่ทรงพลัง

ฉันไม่สนับสนุนการเขียนในโปรแกรมแก้ไขระดับแผ่นจดบันทึก แต่ฉันไม่ได้ทำสิ่งนี้ด้วยเหตุผลเดียว - ตามกฎแล้วไม่มีการเน้นไวยากรณ์ นี่เป็นสิ่งที่สะดวกอย่างไม่น่าเชื่อซึ่งไม่มีผลเสีย คุณสามารถใช้บางอย่างเช่นNotepad++ซึ่งเข้าใจไวยากรณ์ Java และอีกอย่างก็ฟรี ตัวอย่างเช่น ฉันมีไฟล์ประเภท .java ที่ลงทะเบียนไว้ในระบบโดยเฉพาะ ดังนั้นโปรแกรมแก้ไขข้อความที่มีการเน้นไวยากรณ์และบรรทัดคำสั่ง สองหรือสามวันแห่งความทรมาน - และทำความเข้าใจว่า classpath คืออะไร ล่ามเปิดตัวอย่างไร และสิ่งเล็กๆ น้อยๆ อื่นๆ อีกมากมาย - การทำความเข้าใจสิ่งนี้จะคงอยู่ตลอดไป ไกลออกไป. ประสบการณ์ของฉันทำให้ฉันมีเหตุผลที่จะบอกว่าเป็นไปไม่ได้ที่จะรับความรู้เพื่อใช้ในอนาคต ในแง่ที่ว่ามันคุ้มค่าที่จะอ่านวรรณกรรมก็ต่อเมื่อมีคำถามที่จะตอบเท่านั้น หากคุณอ่านหนังสือโดยไม่มีคำถาม ข้อมูลจะหายไปภายในหนึ่งสัปดาห์ ฉันรู้เรื่องนี้ดีรวมทั้งจากประสบการณ์ของตัวเองด้วย ครั้งหนึ่งฉันเคยเริ่มอ่านหนังสือบนเซิร์ฟเล็ตห้าครั้ง จนกระทั่งฉันเริ่มจัดการกับพวกเขาในการทำงาน ข้อมูลก็ไม่ถูกดูดซึม และนี่ยังห่างไกลจากกรณีที่แยกได้ กาลครั้งหนึ่งนานมาแล้วประมาณ 8-10 ปีที่แล้วฉันอ่านเรื่องต่อไปนี้ แต่น่าเสียดายที่ฉันจำผู้เขียนไม่ได้: จะสอนภาษาการเขียนโปรแกรมใหม่ให้กับบุคคลได้อย่างไร? ง่ายมาก. คุณต้องระบุภาษา งานหลายอย่าง และเอกสารประกอบขั้นต่ำ จากนั้น หลังจากผ่านไปสองสามเดือน เมื่อเขาเริ่มเขียนภาษานี้อย่างน้อยก็จงจัดเตรียมเอกสารที่ครอบคลุม จะถูกอ่านเหมือนนิยายสืบสวนภายในสองสัปดาห์ หลังจากนั้นบุคคลนั้นก็จะพร้อมทำงาน ฉันเห็นด้วยกับข้อความนี้ 100% ในอีกสองเดือน ปัญหาเล็กๆ น้อยๆ ทั้งหมดจะหมดไป คำตอบจะได้รับโดยอิสระซึ่งจะช่วยเพิ่มมูลค่าได้อย่างมาก ในทางกลับกัน คำถามที่ชัดเจนจะเกิดขึ้นแล้ว ซึ่งคำตอบจะได้รับจากเอกสารประกอบ สิ่งนี้นำไปสู่ข้อสรุปที่สองซึ่งดูเหมือนจะขัดแย้งไม่น้อยไปกว่าข้อสรุปแรก:

ข้อสรุป 2. ขอแนะนำให้เริ่มเรียนรู้ Java โดยไม่ต้องใช้ตำราเรียน เอกสารประกอบ Java API + บทช่วยสอน Java - แค่นี้ก็เกินพอแล้ว

ต้องมีเอกสารประกอบ Java API ฉันขอแนะนำอย่างยิ่งให้เก็บไว้ในเครื่องบนดิสก์ คุณจะต้องติดต่อเธอมากกว่าหนึ่งครั้ง ไม่ใช่สองครั้งหรือสิบครั้งด้วยซ้ำ โดยส่วนตัวแล้วไม่มีวันไหนที่ฉันจะไม่ไปที่นั่น ฉันยังแนะนำให้เก็บบทช่วยสอน Java ไว้ในเครื่องด้วย นี่คือข้อมูลระดับเริ่มต้นที่มาแทนที่หนังสือเรียนโดยสิ้นเชิง อย่างไรก็ตามมีจำนวนพอสมควร ฉันต้องบอกว่าในด้านที่ฉันไม่ได้จัดการในที่ทำงาน ฉันยังคงค้นพบสิ่งใหม่ๆ สำหรับตัวเอง อ่านเยอะๆก็ไม่ดี ตราบใดที่ไม่มีการร้องขอก็ไม่มีการตอบกลับ อ่านสักนิดก็ยังไม่ดี ค่าเฉลี่ยสีทองอยู่ที่ไหน? ฉันปฏิบัติตามกฎนี้: ฉันอ่านจนกระทั่งดูเหมือนว่าฉันได้รับคำตอบสำหรับคำถามนี้แล้ว ใน 90% ของกรณีนี้ไม่เป็นเช่นนั้น แต่ขณะนี้ควรหยุดและดำเนินต่อไปด้วยตัวเองดีที่สุด ได้รับแรงกระตุ้นเบื้องต้นแล้วและการแก้ปัญหาอย่างอิสระจะให้อะไรมากกว่านั้นมาก แน่นอนว่าหลังจากผ่านไประยะหนึ่งมันก็คุ้มค่าที่จะอ่านหนังสือ แต่อีกครั้งสำหรับวรรณกรรมระดับเริ่มต้น แม้ว่าจะดูเหมือนว่าทั้งหมดนี้เป็นเรื่องไร้สาระ แต่ก็คุ้มค่าที่จะอ่านบทเริ่มต้น ฉันเกือบจะรับประกันได้ว่าคุณจะได้เรียนรู้สิ่งใหม่ ๆ อย่างน้อย และสิ่งนี้อาจกลายเป็นสิ่งสำคัญอย่างยิ่งในภายหลัง ตกลง. ดูเหมือนเราจะคิดออกแล้วว่าจะเขียนเกี่ยวกับอะไร วิธีการเขียน - เช่นกัน แต่ฉันควรเขียนอะไรดี? จำไว้ว่าบทความนี้เริ่มต้นจากที่ใด ฉันควรเริ่มต้นด้วยการเขียนระบบข้อความโต้ตอบแบบทันทีหรือไม่? ทางเลือกเป็นของคุณแน่นอน สำหรับฉันดูเหมือนว่ามันไม่คุ้มค่า ยิ่งงานซับซ้อนเท่าไร คำถามก็จะยิ่งมากขึ้นเท่านั้น ในกรณีที่ไม่มีประสบการณ์ คำถามจำนวนหนึ่งจะให้ความรู้สึกเป็นไปไม่ได้ที่จะแก้ไข ตามมาด้วยความรู้สึกต่ำต้อย ความโง่เขลา ฯลฯ ท้ายที่สุดแล้ว สิ่งนี้สามารถนำไปสู่การตัดสินใจ "ลงนรกด้วย..." และหยุดเรียนภาษาได้ เหล่านั้น. ให้ผลตรงกันข้ามมากกว่าที่ต้องการ นี่เป็นลักษณะเฉพาะของ Java ไม่มากเท่ากับกระบวนการเรียนรู้นั่นเอง แต่ด้วยเหตุผลบางอย่างพวกเขาลืมเรื่องนี้เมื่อต้องสอนการเขียนโปรแกรม ในขณะเดียวกัน งานเล็กๆ ที่เสร็จสิ้นจนจบสามารถให้ความพึงพอใจและความรู้มากกว่าระบบอันยิ่งใหญ่ที่ละทิ้งไปตั้งแต่เริ่มต้นการเดินทาง ดังนั้นข้อสรุปที่สาม: ข้อสรุปที่ 3 ขอแนะนำให้เริ่มเรียนรู้ Java ด้วยงานที่เพียงพอกับระดับความรู้ Java ในปัจจุบันของคุณ คุณไม่ควรเริ่มเรียนขับรถฟอร์มูล่า 1 คุณไม่ควรเริ่มเรียนสกีอัลไพน์ในสนามฟุตบอลโลก และในทำนองเดียวกัน คุณไม่ควรเริ่มเชี่ยวชาญ Java ด้วยการเขียนสิ่งที่ยิ่งใหญ่ ฉันเข้าใจว่าความทะเยอทะยานนั้นเรียกร้อง แต่ในกรณีนี้ไม่มีมูลความจริง และยิ่งคุณมีความทะเยอทะยานที่ไม่สมเหตุสมผลมากเท่าใด โอกาสที่คุณจะเป็นมืออาชีพก็จะน้อยลงเท่านั้น ปรากฏการณ์ที่น่าทึ่งในแง่ของการเรียนรู้ก็คือ ฟอรัมต่างๆ มากมาย หากคุณใช้มันอย่างชาญฉลาด อย่างชาญฉลาด - หมายความว่าคุณต้องทำสิ่งที่ตรงกันข้ามไม่ใช่ตามปกติ กล่าวคือไม่ใช่การถามคำถาม แต่เป็นการตอบคำถาม ใด ๆ ก็ตามที่คุณมีกำลังที่จะไปถึง ถ้าคุณคิดว่าตัวเองรู้ทุกอย่างแล้ว คุณคิดผิดมาก ใช่ ฉันรู้มาก แต่มีบางพื้นที่ที่ฉันไม่เคยเจอ หรือผมมีแต่น้อยมาก ตัวอย่างคลาสสิกจากการปฏิบัติของฉันคือการทำงานกับใบรับรอง: การลงนามโค้ด การเชื่อมต่อที่ปลอดภัย ฯลฯ ตอนที่เขียนวิทยานิพนธ์เมื่อปี พ.ศ. 2541 ฉันก็ทำแบบนี้ แต่ตั้งแต่นั้นมาทุกอย่างก็เปลี่ยนไปมาก หลายปีที่ผ่านมา ฉันมีคำถามสะสมมา ฉันเริ่มอ่านวรรณกรรมด้วยซ้ำ แต่อย่างที่บอกไปข้างต้น คุณไม่สามารถรับความรู้เพื่อใช้ในอนาคตได้ มันเหมือนชะแลง - มันเข้าหูข้างหนึ่งแล้วออกมาอีกข้างหนึ่ง ไม่มีผลอะไรนอกจากมีรูในหัว และสิ่งนี้ยังคงดำเนินต่อไปจนกระทั่งเมื่อไม่นานมานี้ เมื่อมีการถามคำถามในฟอรัมเกี่ยวกับการเชื่อมต่อ SSL กับ Tomcat มีปัญหาบางอย่าง และมีเพียงคำถามนี้เท่านั้นที่ผลักดันให้ฉันเจาะลึก และหากมีการร้องขอก็ย่อมมีการตอบรับเช่นกัน ฉันไม่เพียงแต่รู้ว่าปัญหาของบุคคลนั้นคืออะไร แต่ยังพบข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายอีกด้วย ในที่สุดฉันก็เข้าใจวิธีการทำงานของใบรับรองแล้ว บทความที่เกี่ยวข้องอยู่ในแผน และสิ่งนี้เกิดขึ้นตลอดเวลา ฉันทำงานกับ GUI ค่อนข้างน้อย ฉันเข้าใจความสามารถบางอย่างของ TextLayout จากการถามคำถามของใครบางคนในฟอรัมเท่านั้น ก่อนคำถามนี้ฉันไม่มีความคิดเกี่ยวกับพวกเขาเลย ในทำนองเดียวกัน ฉันเพิ่งพบว่าปรากฎว่า JButton ยังตีความ html เป็นส่วนหัวของตัวเองด้วย ก่อนหน้านี้ฉันคิดว่ามีเพียง JLabel เท่านั้นที่ทำได้ และนี่เป็นอีกครั้งที่ต้องขอบคุณฟอรัม ปรากฎว่า ยิ่งเราตอบคำถามมากเท่าไร เราก็ยิ่งเรียนรู้ตัวเองมากขึ้นเท่านั้น นั่นคือเหตุผลที่ฉันไม่เห็นด้วยกับความคิดเห็นของประชาชนที่ว่าถ้าคน ๆ หนึ่งนั่งในฟอรัมเขาก็ไม่ทำอะไรเลย สิ่งนี้ยังไม่ชัดเจนและขึ้นอยู่กับสาเหตุหลักว่าทำไมบุคคลนั้นจึงอยู่ในฟอรัม และเขาทำอะไรเป็นส่วนใหญ่ - ถามหรือตอบ ในความเป็นจริงคุณสามารถถามได้ แต่ยังฉลาดอีกด้วย อย่าถามหาทางแก้ไข (และโดยเฉพาะกับคำลงท้ายว่า “ได้โปรดผู้รู้ ให้คำตอบ ไม่ถามคำถาม!” ซึ่งฉันเจอเมื่อวันก่อน!) แต่ในทางกลับกัน กลับขอให้ตั้ง ทิศทางของการเคลื่อนไหว เป็นที่เข้าใจได้อย่างสมบูรณ์ว่าเป็นเรื่องยากสำหรับผู้เริ่มต้นที่จะเข้าใจว่าจะขุดที่ไหนเพราะเขาขาดประสบการณ์ นี่ไม่ใช่ความผิดของบุคคลนั้น และไม่ใช่ปัญหาด้วยซ้ำ นี่เป็นเรื่องปกติ ทุกคนเคยผ่านเรื่องนี้มาแล้ว รวมฉันด้วย สำหรับฉันโดยส่วนตัวแล้ว การที่คนๆ หนึ่งต้องการเรียนรู้บางสิ่งบางอย่างสำคัญกว่ามาก และไม่ใช่แค่ได้รับคำตอบ เพียงเพื่อลืมมันไปห้านาทีหลังจากเข้าห้องแล็บการเขียนโปรแกรม ฉันจะบอกทิศทางการเคลื่อนไหวให้คุณทราบเสมอ ถ้าฉันรู้จักเขาด้วยตัวเอง และถ้าฉันไม่รู้ อย่างน้อยฉันก็เดาได้ และฉันก็จะหาคำตอบเช่นกัน แต่ฉันคงไม่เคยให้คำตอบตรงๆ เลย อย่างน้อยฉันก็จำไม่ได้ อย่างไรก็ตาม เป็นเพราะเหตุนี้ฉันจึงออกจากฟอรัมหนึ่ง เมื่อฉันเริ่มถามคำถามนำ พวกเขาก็อธิบายให้ฉันฟังพร้อมๆ กันว่าเป็นธรรมเนียมที่พวกเขาจะตอบง่ายๆ และด้วยคำถามของฉัน ฉันสามารถไปต่อได้ เมื่อพิจารณาว่าระดับของฟอรัมยังเหลือความต้องการอีกมาก ไม่น้อยต้องขอบคุณแนวทางนี้! – ฉันตัดสินใจว่าจะไม่เสียเวลาอีกต่อไป ดังนั้นเลือกฟอรั่มที่คุณชอบแล้วไปได้เลย อย่างไรก็ตามไซต์นี้ปรากฏขึ้นอย่างแม่นยำด้วยหนึ่งในฟอรัม หลังจากพูดคุยกันที่นั่นมาระยะหนึ่ง ฉันก็รวบรวมรายการหัวข้อที่ถูกหยิบยกบ่อยที่สุดและตระหนักว่าไซต์ดังกล่าวจะเป็นที่ต้องการ และมันก็เกิดขึ้น บทความเกือบทั้งหมดเขียนขึ้นหลังจากมีการสนทนาในฟอรัม หรือติดตามจดหมายที่ผมทำเป็นประจำ ผลลัพธ์คืออะไร? ทำงาน ทำงาน และทำงานอีกครั้ง ยิ่งคุณปล่อยให้ตัวเองทำเพื่อตัวเองตั้งแต่แรกมากเท่าไร ความรู้ก็จะยิ่งน้อยลงเท่านั้น และยิ่งเส้นทางสู่ความเป็นมืออาชีพยิ่งยาวขึ้น แต่มีเพียงคุณเท่านั้นที่สามารถเลือกได้ว่าคุณอยากเป็นใคร - ลิงกดปุ่มอย่างไร้เหตุผลหรือมืออาชีพ และมีเพียงคุณเท่านั้นที่เลือกเส้นทางที่คุณสามารถบรรลุสิ่งนี้หรือสิ่งนั้นได้ วิธีแรกชัดเจน ฉันพยายามแสดงอันที่สอง การเคลื่อนไหวของคุณสุภาพบุรุษ! ลิงก์ไปยังแหล่งที่มาดั้งเดิม: เริ่มจากจุดเริ่มต้นหรือ 'Hello, Java World!'
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION