หนึ่งจะบังเหียนในความซับซ้อนของการพัฒนาเว็บ? [ปิด]


17

ฉันเป็นโปรแกรมเมอร์ฝั่งเซิร์ฟเวอร์สำหรับอาชีพส่วนใหญ่ของฉันและเพิ่งเริ่มใช้เวลาในการพัฒนาเว็บไซต์มากขึ้น ฉันประหลาดใจกับจำนวนสิ่งที่ฉันต้องการเป็นหลักในการเขียนเว็บแอปพลิเคชันที่เหมาะสม เพื่อทำรายการเครื่องมือ / เทคโนโลยีที่ฉันต้องเรียนรู้

  • ภาษาโปรแกรมฝั่งเซิร์ฟเวอร์ (Java / JSP, ASP, PHP, Ruby หรืออย่างอื่น)

  • กรอบเว็บที่เหมาะสม (สำหรับแอปพลิเคชันขนาดกลางถึงขนาดใหญ่)

  • HTML & CSS

  • จาวาสคริ

  • ไลบรารี Javascript (JQuery / ExtJS ฯลฯ เป็นหลักสำหรับ AJAX) ดีที่จะรู้แม้ว่าไม่จำเป็น

  • อย่างน้อยความรู้พื้นฐานการออกแบบเว็บ - เลย์เอาต์, สี, แบบอักษร ฯลฯ

  • ความเข้าใจที่ดีเกี่ยวกับความปลอดภัยของเว็บ

  • ความเข้าใจที่ดีของปัญหาด้านประสิทธิภาพ / ความสามารถในการปรับขยายได้

  • การทดสอบปัญหาความเข้ากันได้ของเบราว์เซอร์ ฯลฯ

รายการดำเนินต่อไป

ดังนั้นคำถามของฉันสำหรับนักพัฒนาเว็บไซต์ที่มีประสบการณ์คือ - พวกคุณจะจัดการเรียนรู้และปรับปรุงตัวเองในหลาย ๆ สิ่งได้อย่างไร ในขณะที่พัฒนาแอปพลิเคชันบนเว็บคุณจะจัดการกับความซับซ้อนที่เกี่ยวข้องในพื้นที่เหล่านี้อย่างไรและยังสามารถเขียนแอปพลิเคชันที่ได้รับการออกแบบมาเป็นอย่างดีใช้งานง่ายปลอดภัยแสดงและปรับขนาดได้

ในฐานะนักพัฒนาเว็บเราต้องมีแจ็คของการซื้อขายทั้งหมดหรือควรมีความเชี่ยวชาญในหนึ่งหรือสองด้านและปล่อยให้สมาชิกคนอื่น ๆ ในทีมเหลือหรือไม่?


สิ่งใหม่นั้นยากในตอนแรก อย่าปล่อยให้สิ่งนั้นเสื่อมเสียคุณ ตระหนักว่าคุณจะไม่สามารถแข่งขันกับนักพัฒนาที่มีประสบการณ์และทำอย่างดีที่สุดได้ ขยายทักษะของคุณเมื่อเวลาผ่านไปตามที่จำเป็น เครื่องมือทั้งหมดนี้เปลี่ยนไปอย่างรวดเร็วอย่างไรก็ตามคุณต้องเป็นผู้เรียนรู้ตลอดชีวิตเพื่อที่จะอยู่รอดในการพัฒนา หรือได้รับการเขียนโปรแกรม "โชคดี" ในชุด เป็นเวลา 20 ปี
P.Brian.Mackey

คำตอบ:


9

ภาษาโปรแกรมฝั่งเซิร์ฟเวอร์ (Java / JSP, ASP, PHP, Ruby หรืออย่างอื่น)

ใช้กรอบงาน ตัวอย่างเช่น Django

กรอบเว็บที่เหมาะสม (สำหรับแอปพลิเคชันขนาดกลางถึงขนาดใหญ่)

ไม่ใช่ "ปานกลางถึงใหญ่" ใช้กรอบสำหรับทุกอย่าง

HTML & CSS

มันเป็นสิ่งที่มันเป็น. เรียนรู้มัน.

จาวาสคริ

ใช้ไลบรารีและกรอบงานให้มากที่สุด เขียนน้อยกว่าใช้ซ้ำได้มากขึ้น

ไลบรารี Javascript (JQuery / ExtJS ฯลฯ เป็นหลักสำหรับ AJAX) ดีที่จะรู้แม้ว่าไม่จำเป็น

แก้ไข. ใช้ห้องสมุด

หรือ.

ใช้ FLEX

อย่างน้อยความรู้พื้นฐานการออกแบบเว็บ - เลย์เอาต์, สี, แบบอักษร ฯลฯ

คัดลอกไซต์ที่มีอยู่

ความเข้าใจที่ดีเกี่ยวกับความปลอดภัยของเว็บ

อ่าน www.owasp.org อย่างระมัดระวัง และ. ใช้เฟรมเวิร์กที่ทำสิ่งนี้

ความเข้าใจที่ดีของปัญหาด้านประสิทธิภาพ / ความสามารถในการปรับขยายได้

ใช้ Apache ใช้เฟรมเวิร์กที่จัดการสิ่งนี้ อ่านสถาปัตยกรรมอินเทอร์เน็ตที่ปรับขนาดได้ของ Schlossnagle

การทดสอบปัญหาความเข้ากันได้ของเบราว์เซอร์ ฯลฯ

กรอบ ห้องสมุด

มีเคล็ดลับเกี่ยวกับเรื่องนี้ ใช้ไลบรารีและกรอบงานได้มากเท่าที่จะทำได้ เว็บมีมานานหลายปีแล้ว

ยืนบนไหล่ของยักษ์ โปรด. คุณไม่จำเป็นต้องบูรณาการทั้งหมดนี้อีก


จริงคุณไม่ควรคิดค้นสิ่งใหม่ทั้งหมดในฐานะนักพัฒนาที่มีประสบการณ์คุ้นเคยกับกรอบและเครื่องมือทั้งหมด แต่การทำให้เครื่องมือเหล่านี้หมดไปในฐานะผู้ชายคนใหม่จะเพิ่มอุปสรรคในการเข้ามาเท่านั้น เขาควรจะทำจาวาสคริปต์พื้นฐานและเช่นมือใหม่เพื่อลดอุปสรรคนี้ แต่เนื่องจาก OP ถามว่า "นักพัฒนาที่มีประสบการณ์" ทำสิ่งที่ฉันไม่สามารถปิง -1 ได้อย่างไร
P.Brian.Mackey

5

พวกคุณจัดการเรียนรู้และปรับปรุงตัวเองในหลาย ๆ เรื่องได้อย่างไร?

เคล็ดลับที่ 1 จับตาดูทุกสิ่งที่เกิดขึ้นที่นั่น ฟังสิ่งที่ผู้คนกำลังพูดถึงตรวจสอบสิ่งต่าง ๆ อ่านบทความและบล็อกทำบุ๊คมาร์คสิ่งที่สำคัญเรียนรู้ทดลองอยู่เสมออยากรู้อยากเห็นทุกอย่าง

เคล็ดลับที่ 2 มีความสนุกสนานอย่างแน่นอนในกระบวนการ

เคล็ดลับที่ 3 ตามที่บางคนชี้ให้เห็นดังนั้นสิ่งหนึ่งที่คุณระบุไว้นั้นเกี่ยวข้องกับความรู้โดยรวมของนักพัฒนาหลายคน อย่าคาดหวังว่าจะรู้ทุกอย่างอย่างสมบูรณ์แบบมันเกินความคิดเดียวที่จะรับมือได้ ทำสิ่งที่คุณต้องการและรู้ว่าจะหาที่เหลือได้ที่ไหน

ในฐานะนักพัฒนาเว็บคุณจะต้องเป็นแจ็คของการซื้อขายทั้งหมดหรือควรมีความเชี่ยวชาญ

มันจะดีกว่าที่จะรอบรู้ในพื้นที่ที่แตกต่างกัน สิ่งที่พิเศษเกี่ยวกับการพัฒนาเว็บคือมันรวมตัวกันทุกด้านของการพัฒนาผลิตภัณฑ์ไว้ในที่เดียวในมือเดียว คุณย่อมต้องระวังสิ่งต่าง ๆ มากมายเพื่อทำให้สิ่งต่าง ๆ เกิดขึ้น แต่อย่างจริงจังมันเป็นความสุขมากที่มีนิ้วของคุณทุกที่!


2

คุณไม่ได้มีทีมเสมอไปอย่างน้อยก็ในกรณีของฉัน ดังนั้นการเป็น "แจ็คของการซื้อขายทั้งหมด" จึงเป็นประโยชน์

แต่คุณไม่ต้อง / ไม่รู้จักทุกสิ่งดังนั้นจงค้นหา Google ให้ดี

คุณจะสร้างทักษะตามที่คุณต้องการ


ใช่มันลำบากมากในตอนแรก
คุกกี้แป้งข้าว

1

มีพื้นฐานที่คุณต้องรู้ - HTML, CSS, มาร์กอัปความหมาย, HTTP ทำอะไรและทำอย่างไรจึงจะใช้ประโยชน์ได้ดี

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

เห็นได้ชัดว่ายิ่งคุณทำงานใน บริษัท ของนักพัฒนาเว็บที่มีประสบการณ์มากเท่าไหร่คุณก็ยิ่งเรียนรู้ได้เร็วขึ้นเท่านั้น แต่โดยส่วนใหญ่แล้วพวกเราเลือกทักษะเหล่านี้ตามเวลา


1

ฉันพยายามรู้มากพอเกี่ยวกับเทคโนโลยีทั้งหมดในปัจจุบันเพื่อที่ฉันจะได้รู้ว่าควรนำไปใช้เมื่อใด ตัวอย่างเช่นฉันเป็นนักพัฒนา ASP.NET เป็นหลัก แต่ฉันรู้จัก Ruby on Rails มากพอที่จะเข้าใจว่ามันเหมาะกับปัญหาเฉพาะหรือไม่

เทคโนโลยีที่ใช้จริงฉันพยายามรู้เข้า ๆ ออก ๆ หากมีคุณสมบัติเฉพาะใน ASP.NET ฉันต้องการทราบรายละเอียดและรู้ว่าฉันควรใช้เมื่อใดและเมื่อใดที่ฉันไม่ควรใช้มัน กันไปสำหรับ JQuery, CSS และทุกอย่างอื่นที่ฉันใช้

เพื่อให้ทันสมัยฉันฟังพอดคาสต์สมัครสมาชิกฟีด RSS อ่าน StackOverflow และเข้าร่วมกิจกรรมของนักพัฒนา


1

เริ่มต้นวิธีง่ายๆด้วย. NET หรือ JEE / JSF ไม่จำเป็นต้องทำโครงการแรกของคุณอย่างหนัก บันทึกความซับซ้อนนั้นไว้เมื่อคุณต้องการมันจริงๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.