คำถามติดแท็ก web-development

การพัฒนาเว็บเป็นคำที่ครอบคลุมสำหรับงานที่เกี่ยวข้องกับการพัฒนาเว็บไซต์สำหรับเวิลด์ไวด์เว็บหรืออินทราเน็ต

4
TDD - Outside In vs Inside Out
อะไรคือความแตกต่างระหว่างการสร้างแอปพลิเคชันOutside Inกับการสร้างInside Outโดยใช้ TDD นี่คือหนังสือที่ฉันอ่านเกี่ยวกับ TDD และการทดสอบหน่วย: การทดสอบพัฒนาขับเคลื่อน: โดยตัวอย่าง การพัฒนาขับเคลื่อนทดสอบ: คู่มือปฏิบัติ: แนวทางปฏิบัติ: แนวทางปฏิบัติ โซลูชั่นโลกแห่งความจริงสำหรับการพัฒนา PHP Framework คุณภาพสูงและ การพัฒนาทดสอบขับเคลื่อนแอพพลิเคชันใน Microsoft รูปแบบการทดสอบNET xUnit: รหัสการทดสอบการปรับ โครงสร้างใหม่ศิลปะการทดสอบหน่วย: ด้วยตัวอย่างใน. Net การพัฒนาซอฟต์แวร์เชิงวัตถุแนะนำโดยการทดสอบ ---> อันนี้ยากที่จะเข้าใจจริงๆเพราะ JAVA ไม่ใช่ภาษาหลักของฉัน :) เกือบทั้งหมดอธิบายถึงพื้นฐานของ TDD และการทดสอบหน่วยโดยทั่วไป แต่ด้วยการกล่าวถึงเพียงเล็กน้อยถึงวิธีต่างๆในการสร้างแอปพลิเคชัน อีกสิ่งที่ฉันสังเกตเห็นคือหนังสือส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) จะไม่สนใจขั้นตอนการออกแบบเมื่อเขียนแอปพลิเคชัน พวกเขามุ่งเน้นที่การเขียนกรณีทดสอบอย่างรวดเร็วและปล่อยให้การออกแบบเกิดขึ้นเอง อย่างไรก็ตามฉันเจอย่อหน้าในรูปแบบการทดสอบ xUnit ที่กล่าวถึงวิธีการที่ผู้คนเข้าหา TDD มี 2 โรงเรียนออกมีนอกใน VS Inside Out น่าเศร้าที่หนังสือเล่มนี้ไม่ได้อธิบายเพิ่มเติมในประเด็นนี้ …

19
ให้บริการงานพื้นหลังในไซต์ขนาดใหญ่
เรากำลังจัดการกับปัญหาที่น่าสนใจใน StackOverflow เรามีงานเล็ก ๆ น้อย ๆ "ที่ต้องทำในไม่ช้า" ตัวอย่างกำลังอัปเดตรายการ "คำถามที่เกี่ยวข้อง" สิ่งที่เราทำในอดีตคือการแบกภาระงานเหล่านั้นลงบนหน้าโหลดของผู้ใช้บางคน เรื่องนี้ไม่เหมาะ แต่ก็ไม่ได้สังเกตเห็นได้ชัดเจนจริงๆ ตอนนี้ SO จึงผ่านเครื่องหมายคำถาม 1,000,000 รายการผู้ใช้ที่โชคร้ายเหล่านั้นเริ่มรู้สึก วิธีแก้ปัญหาตามธรรมชาติคือการผลักงานเหล่านี้เป็นพื้นหลัง มีสองวิธีในการทำสิ่งนี้ที่ฉันกำลังพิจารณา 1. ใน IIS เป็น Thread-Pool / Work-Queue ที่กำหนดเอง โดยพื้นฐานแล้วเราจะหมุนเธรดไม่กี่อัน (ไม่ใช่ThreadPoolเพื่อไม่รบกวน IIS) และให้พวกเขาให้บริการคอลเลกชันบางอย่างที่เรากำลังผลักให้Funcsทำงาน โปรใหญ่ที่นี่คือความเรียบง่าย เราไม่ต้องกังวลเกี่ยวกับการจัดการอะไรเลยและเราไม่จำเป็นต้องตรวจสอบให้แน่ใจว่าบริการจากภายนอกนั้นพร้อมแล้วที่จะตอบสนอง นอกจากนี้เรายังสามารถเข้าถึงรหัสทั่วไปของเราทั้งหมด คอนดิชั่นก็คือว่าเราไม่ควรใช้เธรดพื้นหลัง การคัดค้านที่ฉันรู้นั้นมีศูนย์กลางอยู่ที่ IIS ที่หิวโหย (ถ้าคุณใช้ ThreadPool) และเธรดที่สุ่มแบบสุ่ม (เนื่องจากการรีไซเคิล AppPool) เรามีโครงสร้างพื้นฐานที่มีอยู่เพื่อทำให้เธรดที่ตายแบบสุ่มไม่ใช่ประเด็น (เป็นไปได้ในการตรวจสอบงานที่ถูกทอดทิ้งโดยทั่วไป) และ จำกัด จำนวนเธรด (และการใช้เธรดที่ไม่ใช่ ThreadPool) …

6
AJAX ที่ซ่อนไว้นั้นปลอดภัยแค่ไหนที่ขอประสิทธิภาพปลอมมา?
คำขอ AJAX ที่ซ่อนอยู่คืออะไร ฉันสังเกตเห็นการเพิ่มขึ้นของการใช้คำขอ AJAX ที่ซ่อนอยู่ซึ่งออกแบบมาเพื่อให้การกระทำของผู้ใช้ปรากฏขึ้นทันที ฉันจะอ้างถึงคำขอ AJAX ประเภทนี้ว่าไม่ปิดกั้น มันเป็นคำขอ AJAX ที่เกิดขึ้นโดยที่ผู้ใช้ไม่ได้ตระหนักว่ากำลังเกิดขึ้นมันถูกดำเนินการในพื้นหลังและการดำเนินการของมันเงียบ ( ไม่มี verbose เพื่อระบุว่าการโทร AJAX เสร็จสมบูรณ์แล้ว ) เป้าหมายคือเพื่อให้การดำเนินการปรากฏว่ามันเกิดขึ้นทันทีเมื่อมันยังไม่เสร็จ นี่คือตัวอย่างของคำขอ AJAX ที่ไม่ปิดกั้น ผู้ใช้คลิกที่ลบในชุดอีเมล รายการจะหายไปจากกล่องจดหมายทันทีและสามารถดำเนินการต่อกับการดำเนินการอื่นได้ ในขณะเดียวกันคำขอ AJAX กำลังประมวลผลการลบรายการในพื้นหลัง ผู้ใช้กรอกฟอร์มสำหรับบันทึกใหม่ คลิกบันทึก รายการใหม่จะปรากฏในรายการทันที ผู้ใช้สามารถเพิ่มระเบียนใหม่ต่อไปได้ เพื่อชี้แจงนี่คือตัวอย่างของการปิดกั้นการร้องขอ AJAX; ผู้ใช้คลิกที่ลบในชุดอีเมล เคอร์เซอร์นาฬิกาทรายปรากฏขึ้น มีการร้องขอ AJAX และเมื่อตอบสนองเคอร์เซอร์นาฬิกาทรายถูกปิดใช้งาน ผู้ใช้ต้องรอวินาทีเพื่อให้การดำเนินการเสร็จสมบูรณ์ ผู้ใช้กรอกฟอร์มสำหรับบันทึกใหม่ คลิกบันทึก แบบฟอร์มเปลี่ยนเป็นสีเทาเมื่อมีตัวโหลด AJAX เคลื่อนไหว ข้อความจะปรากฏ "บันทึกข้อมูลของคุณแล้ว" และบันทึกใหม่จะปรากฏในรายการ ความแตกต่างระหว่างสองสถานการณ์ข้างต้นคือการตั้งค่า AJAX …

9
เป็นไปได้ไหมที่จะใช้ภาษาการเขียนโปรแกรมที่เว็บไซต์ใช้?
ตัวอย่างเช่นหากstackexchange.comไม่มีการขอข้อมูลจากเจ้าของเว็บไซต์หรือ Google เกี่ยวกับการพัฒนาเว็บไซต์เป็นไปได้หรือไม่ที่จะทราบว่าใช้ภาษาใดในส่วนหลัง ดูเหมือนว่าเว็บไซต์ไม่มี.extensionแถบตัวอย่างเช่น.phpที่สามารถระบุได้ว่ามีการพัฒนาอะไรPHPแต่ไม่มีส่วนขยายฉันจะรู้ได้อย่างไร

6
ฉันจะเรียนรู้ Python จากศูนย์ถึงการพัฒนาเว็บได้อย่างไร [ปิด]
ฉันกำลังมองหาการเรียนรู้ Python สำหรับการพัฒนาเว็บ สมมติว่าฉันมีประสบการณ์การพัฒนาเว็บขั้นพื้นฐานด้วย Java (JSP / Servlets) ฉันคุ้นเคยกับการออกแบบเว็บ (HTML, CSS, JS) แนวคิดการเขียนโปรแกรมพื้นฐานและฉันใหม่กับ Python อย่างสมบูรณ์ การเรียนรู้ Python ในรูปแบบที่มีโครงสร้างซึ่งในที่สุดจะนำฉันไปสู่การพัฒนาเว็บไซต์ด้วย Python และ Django ฉันไม่ต้องรีบทำเว็บแอพพลิเคชั่นใน Python ดังนั้นฉันต้องการเรียนรู้อย่างละเอียดเพื่อไม่ให้เกิดช่องว่างในความรู้เกี่ยวกับเทคโนโลยีที่เกี่ยวข้องกับการพัฒนาเว็บใน Python มีหนังสือทรัพยากรหรือเทคนิคใดบ้างที่จะช่วยฉันในความพยายามของฉัน ฉันควรจะอ่าน / อ่านลำดับใด UPDATE: เมื่อฉันพูดว่าการเรียนรู้ในรูปแบบที่มีโครงสร้างฉันหมายถึงการเริ่มต้นจากพื้นฐานแล้วเรียนรู้เนื้อหาขั้นสูงโดยไม่ต้องทิ้งรายละเอียด / คุณสมบัติที่สำคัญที่ Python มีให้ ฉันต้องการทราบวิธีการใช้สิ่งที่ฉันรู้แล้วในการเขียนโปรแกรมกับ Python

5
ควรใช้ PHP หรือ ASP.NET เมื่อใด [ปิด]
ฉันได้ทำงานอย่างกว้างขวางในการพัฒนาเว็บแอปพลิเคชันโดยใช้ PHP และ ASP.NET แต่หนึ่งในคำถามที่ฉันถามลูกค้าอย่างต่อเนื่องคือการก้าวไปข้างหน้ากับเว็บไซต์ php หรือเว็บไซต์ asp.net ดังนั้นสิ่งแรกที่นึกถึงคือการตอบคำถามเช่นนี้: PHP เป็นโอเพ่นซอร์สและ ASP.NET มาจาก Microsoft โดยปกติหลังจากสิ่งที่กล่าวว่าลูกค้ามีหน้าตาเปล่า ๆ เห็นได้ชัดว่าความจริงที่ว่าหนึ่งเป็นโอเพนซอร์สและอื่น ๆ ที่ไม่ได้ทำให้พวกเขากลัว และด้วยเหตุผลที่ดีเพราะเมื่อฉันได้ยินครั้งแรกมันไม่ได้บอกอะไรมากมาย ฉันรู้จากการทำงานกับทั้งคู่ว่าแต่ละคนมีความแตกต่างกันเมื่อมาถึงการพัฒนาเว็บไซต์ คำถามของฉันคือความแตกต่างระหว่าง ASP.NET และ PHP เท่าที่ คุณสมบัติ ความปลอดภัย Extendability กรอบ เวลาในการพัฒนาโดยเฉลี่ย ฉันกำลังพยายามรวบรวมรายการของข้อเท็จจริงเพื่อให้สามารถเปรียบเทียบกับลูกค้าเพื่อให้ตัวเลือกที่มีข้อมูลบนแพลตฟอร์มการพัฒนาที่เหมาะสมสามารถทำได้

6
คำอธิบายวิธีการเข้าถึงภาษาการเขียนโปรแกรมฝั่งเซิร์ฟเวอร์
ฉันเข้าใจว่าภาษาการเขียนโปรแกรมวัตถุประสงค์ทั่วไปสามารถใช้สำหรับการพัฒนาเว็บไซต์ฝั่งเซิร์ฟเวอร์ ฉันคิดถูกแล้วว่าเซิร์ฟเวอร์ต้องการอินเทอร์เฟซบางอย่างเช่น CGI เพื่อให้เซิร์ฟเวอร์และภาษาโปรแกรมทำงานร่วมกันได้หรือไม่? ถ้าเป็นเช่นนั้นแล้วทำไมบางภาษาโปรแกรม (เช่น php) จึงเป็นที่นิยมมากกว่าภาษาอื่น ๆ ?

3
จะวางตรรกะทางธุรกิจในการออกแบบ MVC ได้ที่ไหน
ฉันสร้างแอปพลิเคชัน MVC Java แบบง่ายที่เพิ่มระเบียนผ่านแบบฟอร์มข้อมูลไปยังฐานข้อมูล แอพของฉันรวบรวมข้อมูลมันยังตรวจสอบและเก็บไว้ เพราะนี่คือข้อมูลที่ถูกแหล่งออนไลน์จากผู้ใช้ที่แตกต่างกัน ข้อมูลส่วนใหญ่เป็นตัวเลขในธรรมชาติ ตอนนี้ข้อมูลตัวเลขถูกเก็บไว้ในฐานข้อมูล (เซิร์ฟเวอร์ SQL) ฉันต้องการให้แอปของฉันทำการคำนวณและแสดงผลลัพธ์ ผู้ใช้ไม่สนใจว่าจะทำการคำนวณอย่างไรดังนั้นจึงต้องมีการห่อหุ้ม ผู้ใช้จะต้องสามารถดูข้อมูลที่คำนวณได้ง่ายเท่านั้น (ตัวอย่างเช่นข้อมูลคอลัมน์ลบข้อมูลคอลัมน์ B หารด้วยข้อมูลคอลัมน์ C) ฉันรู้วิธีการเขียนขั้นตอนการจัดเก็บเหมือนกัน แต่ฉันต้องการแอพสามชั้น ฉันต้องการข้อมูลที่ฉันใส่ลงในฐานข้อมูลเป็นบันทึกทำงานโดยดำเนินการคำนวณกับมัน ข้อมูลต้นฉบับควรไม่ได้รับผลกระทบในขณะที่ข้อมูลใหม่การคำนวณภายหลังจะต้องจัดเก็บเป็นบันทึกเอนทิตีใหม่ในฐานข้อมูล ฉันควรเขียนรหัสสำหรับการคำนวณพื้นหลังนี้ที่ไหน เนื่องจากเป็นกฎและตรรกะทางธุรกิจฉันควรใส่ไว้ในไฟล์ JavaBeans ใหม่หรือไม่

7
ฉันจะประเมินความรู้ของผู้สมัครเกี่ยวกับ Html / CSS ระหว่างการสัมภาษณ์ได้อย่างไร? [ปิด]
ฉันกำลังพยายามหาคำถามสัมภาษณ์ที่ดีเพื่อประเมินความสามารถของผู้คนที่เข้ามาทำงาน Html / CSS อย่างไรก็ตามหัวข้อนั้นกว้างมากและฉันไม่แน่ใจว่าคำถามประเภทใดที่ฉันสามารถขอให้ประเมิน HTML / ความรู้ CSS ฉันสามารถถามคำถามประเภทใดเพื่อประเมินความสามารถของ Html / CSS ของผู้สมัครระหว่างการสัมภาษณ์ เป็นการดีที่ฉันต้องการถามคำถามสองสามข้อแล้วให้สถานการณ์ในชีวิตจริงแก่พวกเขาเพื่อต่อสู้

13
เป็นการสัมภาษณ์ที่ไม่ดีหรือไม่ที่ให้ผู้สมัครเขียนการใช้ลิสต์ที่เชื่อมโยง [ปิด]
การอ่านเว็บไซต์นี้และดังนั้นฉันได้เห็นเรื่องราวการสัมภาษณ์และคำตอบมากมายที่บอกว่าผู้สมัครต้องใช้รายการที่เชื่อมโยงตั้งแต่เริ่มต้น โดยปกติแล้วนี่คือแบบฝึกหัด "gimme" สำหรับการเขียนโปรแกรมบทบาทผู้สมัครเช่นการเขียน FizzBuzz แนวคิดคือถ้าผู้สมัครไม่สามารถทำสิ่งนี้ได้พวกเขาไม่สามารถเขียนโปรแกรมและควรถูกปฏิเสธเกือบจะทันที อย่างไรก็ตามฉันไม่สามารถช่วยได้ แต่คิดว่านี่อาจเป็นวิธีปฏิบัติที่ไม่ดีด้วยเหตุผลดังต่อไปนี้: ภาษาระดับสูงที่ทันสมัยเช่น C # และ Python ใช้รายการอย่างกว้างขวาง การเขียนออบเจ็กต์ลิสต์ของคุณเองจะต้องใช้ภายใต้สถานการณ์ที่ผิดปกติเท่านั้นและอาจไม่เหมาะสม ภาษาระดับต่ำกว่าเช่น C ++ มีไลบรารีมาตรฐานพร้อมตัววนซ้ำ / รายการคอนเทนเนอร์และวัตถุ ในแง่ของสองประเด็นแรกนักเขียนโค้ดสามารถใช้เวลาหลายปีโดยไม่ต้องคิดถึงการใช้รายการ (เชื่อมโยงเชื่อมโยงซ้ำซ้อน ฯลฯ ) ด้วยตนเอง บางคนอาจไม่เห็นสิ่งเหล่านี้มาตั้งแต่สมัยเรียน พลังการคำนวณยังไม่ได้เป็นปัจจัยเมื่อหลายปีก่อนดังนั้นประสิทธิภาพผ่านพอยน์เตอร์จึงไม่ใช่ปัญหาที่เคยเป็น (โดยทั่วไป) การค้นหาเว็บอย่างง่ายของบางอย่างเช่น "รายการลิสต์ที่เชื่อมโยง" จะแสดงตัวอย่างโค้ดจำนวนมากที่เพิ่งถูกจดจำและทะเลาะวิวาทกันไม่ได้บ่งชี้ความสามารถที่แท้จริงของผู้สมัคร ฉันควรจะบอกว่าการใช้รายการที่เชื่อมโยงเพื่อนำไปสู่คำถาม / การอภิปรายปลายเปิดของผู้สมัครที่มีความสามารถในการแก้ปัญหา / การคิดเชิงวิพากษ์นั้นน่าจะเป็นการสัมภาษณ์ที่ดี ไม่ว่าผู้สัมภาษณ์คนใดจะเห็นว่าผู้สมัครเป็นอย่างไรและพวกเขาคิดว่ามีประโยชน์อย่างไร ฉันคิดว่าวิธีการแบบไบนารีนี้ของ "ไม่มีรหัสรายการที่เชื่อมโยงไม่มีงาน" สำหรับโปรแกรมเมอร์ที่ทำงานบนเดสก์ท็อปหรือโปรแกรมประยุกต์บนเว็บนั้นล้าสมัยไปแล้ว มันอาจเป็นอันตรายได้ ผู้สมัครที่จำไม่ได้ว่าจะทำงานร่วมกับหัวหน้ารายการอย่างถูกต้องได้อย่างไรอาจเป็น coder และเพื่อนร่วมงานที่ยอดเยี่ยมได้ คิด? แก้ไข : มีความคิดเห็นจำนวนมาก (ดี) …

7
การอ้างอิงจาวาสคริปต์ภายนอกกับการโฮสต์สำเนาของฉันเอง
บอกว่าฉันมีเว็บแอปที่ใช้ jQuery เป็นการดีกว่าถ้าจะโฮสต์ไฟล์ javascript ที่จำเป็นในเซิร์ฟเวอร์ของฉันพร้อมกับไฟล์เว็บไซต์ของฉันหรืออ้างอิงกับ CDN ของ jQuery (ตัวอย่าง: http://code.jquery.com/jquery-1.7.1.min.js ) ? ฉันเห็นข้อดีทั้งสองด้าน: ถ้าอยู่บนเซิร์ฟเวอร์ของฉันนั่นคือการพึ่งพาจากภายนอกน้อยกว่า ถ้า jQuery ลงหรือเปลี่ยนโครงสร้างการโฮสต์หรืออะไรทำนองนั้นแอพของฉันก็จะแตก แต่ฉันรู้สึกว่ามันจะไม่เกิดขึ้นบ่อยครั้ง ต้องมีไซต์เล็ก ๆ จำนวนมากในการดำเนินการนี้และทีม jQuery จะต้องการหลีกเลี่ยงการทำลายไซต์เหล่านั้น ถ้าอยู่บนเซิร์ฟเวอร์ของฉันนั่นเป็นข้อมูลอ้างอิงภายนอกที่น้อยกว่าที่ใครบางคนสามารถเรียกได้ว่าเป็นปัญหาด้านความปลอดภัย หากมีการอ้างอิงจากภายนอกฉันไม่ต้องกังวลเกี่ยวกับแบนด์วิดท์เพื่อให้บริการไฟล์ (แม้ว่าฉันรู้ว่ามันไม่มาก หากมีการอ้างอิงจากภายนอกและฉันกำลังปรับใช้เว็บไซต์นี้ไปยังเซิร์ฟเวอร์จำนวนมากที่ต้องมีสำเนาของไฟล์ทั้งหมดของตัวเองแล้วมันเป็นไฟล์ที่น้อยกว่าที่ฉันต้องจำไว้เพื่อคัดลอก / อัปเดต

6
วิธีที่ถูกต้องในการทำงานกับนักออกแบบกราฟิกคืออะไร [ปิด]
เมื่อเร็ว ๆ นี้เราได้ทำงานร่วมกับนักออกแบบกราฟิก (จัดโดยลูกค้า) เพื่อจัดหาสกินสำหรับแอปพลิเคชัน Django + Bootstrap ที่เราสร้างขึ้น ผู้ออกแบบได้จัดเตรียมรูปภาพสแตติกของเลย์เอาต์ใหม่พร้อมกับเอกสารที่อธิบายถึงคุณลักษณะทางเทคนิคบางอย่าง (ขนาดตัวอักษรสีมิติต่างๆเป็นต้น) มันกลับกลายเป็นเสียเวลาอย่างไม่น่าเชื่อที่จะใช้สิ่งนี้ แม้ว่าไซต์ทั้งหมดจะเป็นหน้าแรกหน้าดัชนีและหน้ารายละเอียดครึ่งโหล แต่ฉันใช้เวลาอย่างน้อย 5 วันในการปรับใช้ CSS และ HTML การเปลี่ยนแปลง ดังนั้นฉันจะออกไปบนกิ่งไม้และเรียกสิ่งนี้ผิดวิธี วิธีการพื้นฐานของฉันคือ: เปรียบเทียบภาพนิ่งและการเรนเดอร์ปัจจุบันและสังเกตเห็นความแตกต่าง คาดเดาสิ่งที่การเปลี่ยนแปลงจะต้องมีใน CSS / HTML ทำการเปลี่ยนแปลงนั้น ไปที่ขั้นตอนที่ 1 ปัญหาเฉพาะบางอย่างคือฉันไม่เข้าใจว่าการออกแบบรวมการเปลี่ยนแปลงจาก 8 คอลัมน์เป็น 12 รูปภาพบางรูปที่ให้ในรูปแบบที่ไม่ถูกต้อง (.png's สามารถแสดงผลแตกต่างกันในเบราว์เซอร์ / แพลตฟอร์มที่แตกต่างกัน) CSS มวยปล้ำตามปกติเพื่อให้ได้การเรนเดอร์พิกเซลที่สมบูรณ์แบบเป็นต้นและบางครั้งฉันก็ต้องจัดเทมเพลต HTML ใหม่เพื่อให้ได้พฤติกรรมที่แน่นอน วิธีที่ถูกต้องคืออะไร?

3
วิธีการฝึกอบรมโปรแกรมเมอร์รุ่นเยาว์สำหรับสภาพแวดล้อมบนเว็บในปัจจุบัน (ซับซ้อน)?
ปัจจุบัน บริษัท ของเราพัฒนาแอพพลิเคชั่นที่ประกอบด้วยเวลาส่วนใหญ่ใน Ruby on Rails เว็บเซิร์ฟเวอร์และไคลเอนต์ REST ที่แตกต่างกันตั้งแต่ระบบ kiosk ใน Java ไปจนถึงอุปกรณ์ฝังตัวใน C / C ++ (นอกเหนือจากอินเตอร์เฟสสำหรับเว็บเบราว์เซอร์มาตรฐาน) เราจำเป็นต้องขยายทีมของเราและเมื่อล้มเหลวในการหาโปรแกรมเมอร์อาวุโสที่ดีเราตัดสินใจที่จะใช้ความพยายามในการฝึกอบรมโปรแกรมเมอร์อาวุโสที่จะเติบโตไปด้วยกันกับ บริษัท เราได้มอบหนังสือ Ruby และ Rails ให้พวกเขาแล้วและขอให้พวกเขาสร้างโปรแกรมของเล่นบางส่วน แต่ตอนนี้ฉันรู้แล้วว่าเส้นโค้งการเรียนรู้ที่สูงชันสำหรับสถานะของการเขียนโปรแกรมเว็บในปัจจุบันเป็นอย่างไร เมื่อฉันเริ่มเขียนโปรแกรม 15 ปีที่แล้วฉันใช้เฉพาะ Delphi และ Source Safe และสามารถผลิตซอฟต์แวร์ที่ใช้ได้ตั้งแต่ต้น ทั้งสองเป็นเครื่องมือง่าย ๆ และง่ายต่อการเจาะลึกถึงผลงานภายในของสิ่งแวดล้อม ช้าฉันเริ่มใช้เฟรมเวิร์กของบุคคลที่สามได้เปลี่ยนเป็น CVS, SVN และ Git ในที่สุดได้เรียนรู้สิ่งต่าง ๆ ที่ทำให้เว็บของวันนี้เช่น HTTP, JavaScript, CSS, REST และอื่น …

4
การบันทึกล้มเหลวความพยายามในการเข้าสู่ระบบจะเปิดเผยรหัสผ่าน
ฉันเริ่มเข้าสู่ระบบล้มเหลวในการพยายามเข้าสู่ระบบบนเว็บไซต์ของฉันด้วยข้อความเช่น Failed login attempt by qntmfred ฉันสังเกตว่าบันทึกเหล่านี้มีลักษณะเป็นอย่างไร Failed login attempt by qntmfredmypassword ฉันเดาว่าบางคนมีการเข้าสู่ระบบที่ล้มเหลวเพราะพวกเขาพิมพ์ชื่อผู้ใช้และรหัสผ่านในฟิลด์ชื่อผู้ใช้ รหัสผ่านถูกแฮชในฐานข้อมูล แต่ถ้าฐานข้อมูลถูกบุกรุกข้อความล็อกเหล่านี้อาจเป็นวิธีที่ผู้โจมตีสามารถคิดรหัสผ่านสำหรับจำนวนเปอร์เซ็นต์ของผู้คนที่มีการล็อกอินล้มเหลวเช่นนี้ มีวิธีที่ดีกว่าในการจัดการกับเรื่องนี้? ฉันควรกังวลเกี่ยวกับความเป็นไปได้นี้หรือไม่?

12
นักเขียนโปรแกรมใช้วิธีการเขียนโปรแกรมที่แย่ที่สุด
ฉันรู้ว่ามันแปลกที่จะพูด แต่โปรแกรมเมอร์คนหนึ่งในที่ทำงานจงใจใช้วิธีการเขียนโปรแกรมที่ไม่ดีตามวัตถุประสงค์! ฉันจะอธิบาย ก่อนอื่นให้ฉันบอกว่าเขาเป็นคนฉลาดและส่วนใหญ่เขาเขียนรหัสที่เข้าใจได้ เขาถูกขอให้ดำเนินการออกใบอนุญาตในโครงการเว็บแอปพลิเคชันที่เขียนด้วย Java เนื่องจากเป็น Java หากมีใครต้องการจริงๆก็อาจแฮ็กเปิดไหและอ่านชื่อของคลาสและวิธีการที่เขียนไว้ข้างใน วิธีการแก้ปัญหาของเขาคือการเรียกตัวแปรและวิธีการที่ชื่อไม่ชัดเจนให้ชัดเจนและวางมันไว้ในคลาสที่แออัดแล้วแทนที่จะสร้างคลาสใหม่ เหตุผลของเขาคือหากแฮกเกอร์ต้องการเปลี่ยนบางคลาสเพื่อเลี่ยงการตรวจสอบใบอนุญาต (และรับสำเนาผลิตภัณฑ์ฟรี) เขาจะมีช่วงเวลาที่ยากลำบากกว่านี้หากมันไม่ชัดเจนว่าวิธีใด ปฏิบัติงานเฉพาะเหล่านี้ หลังจากเขาทำเสร็จฉันก็พบเขาแนะนำว่าบางทีเราอาจซื้อห้องสมุด obfuscator บางประเภทเพื่อทำเพื่อเราในขณะที่ยังคงใช้วิธีการเขียนโปรแกรมที่ดี เขาอ้างว่าไม่มีเวลาหรือทรัพยากรในการค้นหาวิธีแก้ปัญหาแบบนั้น .. ซึ่งทำให้ฉันลำบากใจ ฉันจะมองหาห้องสมุด obfuscator ใน Java และแก้ไขรหัสเก่าของเขา (ซึ่งอาจเป็นเรื่องงี่เง่าเล็กน้อยเกี่ยวกับการเปลี่ยนแปลงรหัสของเขา) หรือฉันจะทิ้งมันไว้เท่าที่จะทำให้ฉันไม่สิ้นสุด?

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