วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

7
ตัวแปรชั่วคราวเทียบกับข้อกำหนดความยาวบรรทัด
ฉันได้อ่านRefactoringของ Martin Fowler แล้ว โดยทั่วไปถือว่ายอดเยี่ยม แต่คำแนะนำอย่างหนึ่งของ Fowler ดูเหมือนจะก่อให้เกิดปัญหาเล็กน้อย ฟาวเลอร์แนะนำให้คุณแทนที่ตัวแปรชั่วคราวด้วยเคียวรีดังนั้นแทนที่จะเป็น: double getPrice() { final int basePrice = _quantity * _itemPrice; final double discountFactor; if (basePrice > 1000) discountFactor = 0.95; else discountFactor = 0.98; return basePrice * discountFactor; } คุณดึงออกมาเป็นวิธีการช่วยเหลือ: double basePrice() { return _quantity * _itemPrice; } double getPrice() { …

1
สร้างรหัสสิทธิ์การใช้งานเชิงพาณิชย์สำหรับบริการบนเว็บ
พื้นหลัง ฉันมีคำถามทางธุรกิจเกี่ยวกับการอนุญาตให้ใช้สิทธิ์ซอฟต์แวร์บนเว็บ เว็บไซต์จำนวนหนึ่งเสนอซอฟต์แวร์เป็นบริการสำหรับ API ที่หลากหลาย เป็นตัวอย่างที่ดีของ Google ค้นหาที่กำหนดเอง API กระบวนการใช้บริการเว็บโดยทั่วไปมีลักษณะคล้ายกับ: บัญชีผู้ใช้. ผู้ใช้สร้างบัญชี เซิร์ฟเวอร์ ผู้ใช้กำหนดที่อยู่ IP ของเซิร์ฟเวอร์ที่จะทำการร้องขอ API สำคัญ. ผู้ใช้ได้รับรหัสสาธารณะ API สำหรับ API ที่ต้องการ คู่มือ ผู้ใช้จะได้รับเอกสารที่แสดงวิธีใช้คีย์ API เพื่อทำการร้องขอ ทดสอบ. ผู้ใช้สามารถส่งคำขอทดสอบเพื่อตรวจสอบการทำงานการรวม การเรียกเก็บเงิน. ผู้ใช้จ่ายเพื่อเปิดใช้งานบัญชี การผลิต ผู้ใช้รวมบริการเว็บลงในแอปพลิเคชันของพวกเขา การปิดใช้งาน ระบบปิดการใช้งานบัญชีเมื่อหมดอายุเกินขีด จำกัด การร้องขอ ฯลฯ ข้อกำหนดเหล่านี้เพิ่มเติมจากการรวมเข้ากับบริการที่ได้รับอนุญาตให้ใช้สิทธิ ปัญหา นั่นเป็นงานจำนวนมากสำหรับธุรกิจขนาดเล็ก คำถาม อะไรคือโครงการโอเพ่นซอร์สที่เน้นปัญหานี้ หากไม่มีโครงการดังกล่าวคุณจะทำอะไรเพื่อออกแบบโซลูชันที่คุ้มค่าและมีราคาต่ำ (คิดเป็นเปอร์เซ็นต์ของใบอนุญาตแต่ละใบ) นั่นคือคุณจะใช้ซอฟต์แวร์หรือบริการเชิงพาณิชย์ที่มีอยู่สำหรับธุรกิจขนาดเล็ก (มีรายได้เพียงเล็กน้อยหรือไม่มีรายได้) ที่ต้องการให้สิทธิ์ใช้งานบริการบนเว็บ ขอบคุณ! ลิ้งค์ที่มีความเกี่ยวข้อง …

7
นี่คือ "รูปแบบต่อต้าน" และฉันควรหยุดใช้หรือออกแบบที่ฉลาดนี้หรือไม่?
ฉันมักจะทำต่อไปนี้เมื่อสร้างบริการ REST: มีการร้องขอ HTML บริการส่งคืนหน้าเว็บที่ต้องการ แต่ไม่มี "ทรัพยากร" ที่ร้องขอเช่น ข้อมูล หน้าเว็บมี JavaScript ที่ออกคำขอ AJAX ไปยังบริการเดียวกัน (ประเภทเนื้อหาที่แตกต่างกัน) บริการจะส่งคืนข้อมูลจริง (JSON) และหน้าแสดงข้อมูลนั้น ในอีกด้านหนึ่งดูเหมือนว่าไม่มีประสิทธิภาพ (2 คำขอ) แต่หลังจากนั้นฉันก็ใช้สิ่งนี้ "ประสิทธิภาพการทำงานไม่มีความกังวล" หมายถึงแอพภายในที่มีปริมาณการใช้งานต่ำและเว็บไซต์ง่ายและโหลดเร็ว เหตุผลที่ฉันลงเอยด้วยเหตุผลนี้ก็คือหน้าเว็บนั้นเกือบจะบริสุทธิ์ Html + JavaScript และแทบจะไม่จำเป็นต้องมีสิ่งที่ฝั่งเซิร์ฟเวอร์โดยเฉพาะอย่างยิ่งไม่มีการวนซ้ำเพื่อสร้างตารางและสิ่งต่าง ๆ เช่นนั้น (ซึ่งฉันคิดว่าน่าเกลียดมาก เช่น slickgrid) เช่นการแยกข้อมูลและมุมมอง ตอนนี้ก่อนที่ฉันจะใช้สิ่งนี้เป็นความคิดที่ดีหรือฉันควรหยุดทำหรือไม่

1
การจัดทำดัชนีเอกสารน้ำหนักเบาเพื่อจัดการระเบียนที่อาจเกิดขึ้นน้อยกว่า 250k
เมื่อเร็ว ๆ นี้ฉันพบว่าตัวเองกำลังสับสนกับข้อ จำกัด ของเอ็นจิ้นการจัดทำดัชนีเอกสาร ฉันกำลังพัฒนาเว็บไซต์ขนาดเล็กที่ต้องการความสามารถในการค้นหาที่มีประสิทธิภาพ แต่เนื่องจากข้อ จำกัด ด้านฮาร์ดแวร์ของพวกเขาฉันจึงไม่สามารถปรับใช้โซลูชัน Lucene-ish (เช่น Solr หรือ ElasticSearch ได้ตามปกติ) เพื่อจัดการกับความต้องการนี้ และถึงแม้ว่าในขณะที่ฉันต้องการแสดงข้อมูลที่ซับซ้อนและการคำนวณที่ใช้ฐานข้อมูลมากฉันก็ไม่จำเป็นต้องจัดการกับระเบียนที่มีศักยภาพมากกว่า 250k การปรับใช้อินสแตนซ์ Solr หรือ ES ทั้งหมดเพื่อจัดการสิ่งนี้ดูเหมือนเป็นการสิ้นเปลือง หลังจากที่ฉันคิดเกี่ยวกับมันดูเหมือนว่าปัญหาใหญ่มาก คนส่วนใหญ่จัดการข้อกำหนดการค้นหาด้วย SQL เพียงอย่างเดียว พวกเขาเรียกใช้แบบสอบถาม SQL สำหรับข้อมูลของพวกเขาและนั่นคือ ความสามารถในการค้นหาของพวกเขาก็จบลงด้วยความน่ากลัว การค้นหา wildcard แบบเต็มครอบคลุมอาจทำให้ระบบช้าลงอย่างเจ็บปวด (โดยเฉพาะโฮสต์ที่ใช้ร่วมกัน) และทำให้ฐานข้อมูลของคุณชะงักงันโดยเฉพาะอย่างยิ่งถ้าคุณมีคำถามที่ซับซ้อนและมีการเข้าร่วมจำนวนมาก คุณต้องทำหลายแบบสอบถามในคำขอเดียวจากผู้ใช้ คุณอาจได้รับสิ่งนี้ด้วยข้อความค้นหาที่ซับซ้อนมากขึ้น แต่ดูจุดก่อนหน้า โดยทั่วไปแล้วฟีเจอร์ที่ขาดอยู่ในเอ็นจิ้นข้อความแบบเต็ม ฐานข้อมูลมีปัญหาแบบเดียวกันกับที่ต้องติดตั้งเป็นเซิร์ฟเวอร์จากนั้น SQLite ก็มาพร้อมกันและทันใดนั้นเราก็สามารถปรับใช้ฐานข้อมูลที่อยู่ในตัวเองในไฟล์เดียว Googling ของฉันไม่ได้ทำอะไรเลย - สงสัยว่ามีบางอย่างที่เป็นเช่นนี้สำหรับการจัดทำดัชนี / การค้นหาข้อความแบบเต็ม ปัจจัยใดที่ควรคำนึงถึงเมื่อตัดสินใจว่าจะใช้การจัดทำดัชนีเอกสารน้ำหนักเบา …

3
คำศัพท์ OOP ใน Ruby และ C ++
ฉันกำลังเรียน C ++ ในโรงเรียนของฉัน เมื่อฉันตั้งโปรแกรมใน Ruby ฉันรู้ว่ามีบางสิ่งที่ OOP แต่ใน C ++ มีฟังก์ชั่นสมาชิกตัวแปรสมาชิกและฟังก์ชั่นคงที่ ในรูบีเรามีวิธีการอินสแตนซ์ตัวแปรอินสแตนซ์และตัวแปรคลาส และมีอีก ... เหตุผลใดที่พวกเขาแตกต่างกันอย่างไร พวกมันค่อนข้างต่างระดับของ OOP หรือไม่? หรือความแตกต่างเพียงเล็กน้อยในประเพณีระบบนิเวศเหล่านี้มี?

2
จะตรวจพบข้อผิดพลาดประเภทอย่างไรในขณะที่สร้าง mocks ในภาษาแบบไดนามิก
ปัญหาเกิดขึ้นขณะทำ TDD หลังจากผ่านการทดสอบสองสามครั้งประเภทการคืนค่าของบางคลาส / โมดูลจะเปลี่ยนไป ในภาษาการเขียนโปรแกรมแบบสแตติกถ้าวัตถุที่เยาะเย้ยก่อนหน้านี้ถูกนำมาใช้ในการทดสอบของคลาสอื่น ๆและไม่ได้รับการแก้ไขเพื่อให้สะท้อนถึงการเปลี่ยนแปลงประเภทแล้วข้อผิดพลาดในการรวบรวมจะเกิดขึ้น อย่างไรก็ตามสำหรับภาษาแบบไดนามิกการเปลี่ยนแปลงประเภทการส่งคืนอาจไม่ถูกตรวจพบและการทดสอบของคลาสอื่นจะยังคงผ่าน แน่ใจว่าอาจมีการทดสอบการรวมที่จะล้มเหลวในภายหลัง แต่การทดสอบหน่วยจะผ่านอย่างผิดพลาด มีวิธีใดบ้างที่จะหลีกเลี่ยงปัญหานี้? การอัปเดตด้วยตัวอย่างเล็ก ๆ น้อย ๆ (ในบางภาษาที่สร้างขึ้น) ... รุ่น 1: Calc = { doMultiply(x, y) {return x * y} } //.... more code .... // On some faraway remote code on a different file Rect = { computeArea(l, w) {return Calc.doMultipy(x*y)} …

3
การใช้ MVC ในแอป Java
ฉันต้องเขียนแอปพลิเคชัน GUI ข้ามแพลตฟอร์มเพื่อประมวลผล (ในหลายเธรด) และเห็นภาพข้อมูลจำนวนมากพอสมควร แอปพลิเคชั่นควรจะค่อนข้างเร็วและดูดี อินเทอร์เฟซของแอพจะประกอบด้วยวิดเจ็ตตารางวิดเจ็ตต้นไม้และวิดเจ็ตรูปวาดเอง ผู้ใช้จะสามารถแก้ไขข้อมูลจากหนึ่งในวิดเจ็ตเหล่านี้และการเปลี่ยนแปลงควรจะปรากฏในวิดเจ็ตอื่นทันที โดยธรรมชาติฉันกำลังวางแผนที่จะใช้ MVC อย่างไรก็ตามปกติแล้วฉันจะเขียนโปรแกรม GUI ทั้งหมดใน C ++ / Qt และมีการเปิดรับจาวา จำกัด ดังนั้นฉันจะขอขอบคุณคำแนะนำใด ๆ เกี่ยวกับวิธีการจัดระเบียบแอปใน Java โดยเฉพาะฉันควรใช้ Swing หรือ JavaFX หรือไม่ วิดเจ็ตใดที่คุณจะเลือกสำหรับงาน คุณช่วยแนะนำหนังสือ / บทช่วยสอนออนไลน์ที่ครอบคลุมประเด็นเหล่านี้ของแพลตฟอร์ม Java ได้หรือไม่? ฉันจะขอขอบคุณสำหรับข้อเสนอแนะใด ๆ ขอบคุณ! (คำถามนี้ถูกโพสต์ครั้งแรกใน Stack Overflowแต่เว็บไซต์นี้ได้รับการแนะนำว่าเป็นสถานที่ที่เหมาะสมกว่าในการถาม)
10 java  mvc  swing  javafx 

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

4
แบบสอบถามฐานข้อมูลควรถูกแยกออกจากหน้าตัวเองหรือไม่?
เมื่อเขียนการสร้างหน้าใน PHP ฉันมักจะพบว่าตัวเองกำลังเขียนไฟล์ที่เกลื่อนไปด้วยแบบสอบถามฐานข้อมูล ตัวอย่างเช่นฉันอาจมีแบบสอบถามเพื่อดึงข้อมูลบางอย่างเกี่ยวกับการโพสต์โดยตรงจากฐานข้อมูลเพื่อแสดงบนหน้าเช่นนี้: $statement = $db->prepare('SELECT * FROM posts WHERE id=:id'); $statement->bindValue(':id', $id, PDO::PARAM_INT); $statement->execute(); $post = $statement->fetch(PDO::FETCH_ASSOC); $content = $post['content'] // do something with the content ข้อความค้นหาแบบครั้งเดียวที่รวดเร็วเหล่านี้มักจะเล็ก แต่บางครั้งฉันก็ลงท้ายด้วยรหัสการโต้ตอบของฐานข้อมูลขนาดใหญ่ซึ่งเริ่มดูยุ่งเหยิง ในบางกรณีฉันได้แก้ไขปัญหานี้ด้วยการสร้างไลบรารีฟังก์ชันที่ใช้งานง่ายเพื่อจัดการคิวรี db ที่เกี่ยวข้องกับการโพสต์ของฉันทำให้บล็อกโค้ดนั้นสั้นลงง่ายๆ $content = post_get_content($id); และนั่นก็ยอดเยี่ยม หรืออย่างน้อยก็จนกว่าฉันจะต้องทำอย่างอื่น บางทีฉันอาจต้องได้รับห้าโพสต์ล่าสุดเพื่อแสดงในรายการ ฉันสามารถเพิ่มฟังก์ชั่นอื่นได้เสมอ: $recent_posts = post_get_recent(5); foreach ($recent_posts as $post) { ... } …

5
การยึดมั่นกับหนึ่งยืนยันต่อการทดสอบความมั่นคงโง่ในกรณีนี้?
ฉันมีชั้นเรียนที่ฉันกำลังทดสอบ ชั้นเรียนมีฟังก์ชั่น:apply(List<IRule> rules, List<ITarget> targets); ในการทดสอบหนึ่งครั้งฉันต้องการตรวจสอบให้แน่ใจว่าแต่ละเป้าหมายผ่านไปหนึ่งกฎ a: rule1.AssertWasCalled(fnord => fnord.Test(target1)); rule1.AssertWasCalled(fnord => fnord.Test(target2)); rule1.AssertWasCalled(fnord => fnord.Test(target3)); มันดูเหมือนว่าฉันที่ จำกัด ตัวเองเพื่อยืนยันคำสั่งเดียวจะค่อนข้างหลอกเด็ก ฉันถูกต้องในสมมติฐานนี้หรือมีวิธีอื่นที่ฉันสามารถยืนยันได้ว่าในความเป็นจริงแต่ละเป้าหมายมีการทดสอบแล้วหรือไม่?

5
จะทำอย่างไรเมื่อการวิ่งเสร็จสิ้นเร็ว?
จะทำอย่างไรเมื่อการวิ่งเสร็จสิ้นเร็ว? ในขณะที่ทีมการต่อสู้ของเราทำงานเรื่องราวจากงานในมือหากการวิ่งนั้นเสร็จสิ้นเร็ว จะเกิดอะไรขึ้นกับเรื่องราวที่ค้างอยู่ในมือ? เรื่องราวจะถูกเพิ่มใน Sprint ปัจจุบันหรือไม่ ถ้าใช่จะเกิดอะไรขึ้นถ้าเรื่องราวเหล่านี้ยังไม่เสร็จตามกำหนดเวลา Sprint นั้นล้มเหลวหรือไม่
10 scrum  sprint 

1
ทำไมคอลัมน์ตารางหลักข้อมูล sqlite เริ่มต้นด้วย 'Z'
ฉันดูตาราง sqlite ที่ Core Data สร้างและสังเกตว่าคอลัมน์ตารางทั้งหมดเริ่มต้นด้วย 'Z' ฉันรู้ว่านี่เป็นรายละเอียดการนำไปใช้ แต่ฉันอยากรู้ว่าทำไมถึงเป็นเช่นนั้นและถ้ามีการตัดสินใจออกแบบที่เกี่ยวข้องกับเรื่องนี้ มีใครรู้หรือเดาว่าทำไม นี่เป็นตัวอย่างสคีมาของฐานข้อมูล Core Data sqlite: sqlite>. schema สร้างตาราง ZPOST (คีย์หลัก Z_PK INTEGER, Z_ENT INTEGER, Z_OPT INTEGER, ZPOSTID INTEGER, ZUSER INTEGER, ZCREATEDAT TIMESTAMP, ZTEXT VARCHAR); สร้าง ZUSER ตาราง (คีย์หลัก Z_PK INTEGER, Z_ENT INTEGER, Z_OPT INTEGER, ZUSERID INTEGER, ZAVATARIMAGEURLSTRING VARCHAR, ZUSERNAME VARCHAR); สร้างตาราง …
10 ios  sqlite 

1
รูปแบบการออกแบบที่มีประโยชน์สำหรับการทำงานกับ FragmentManager บน Android
เมื่อทำงานกับแฟรกเมนต์ฉันใช้คลาสที่ประกอบด้วยเมธอดสแตติกที่กำหนดแอ็คชันกับแฟรกเมนต์ สำหรับโครงการใดก็ตามฉันอาจมีคลาสที่เรียกว่าFragmentActionsซึ่งมีวิธีการคล้ายกับต่อไปนี้: public static void showDeviceFragment(FragmentManager man){ String tag = AllDevicesFragment.getFragmentTag(); AllDevicesFragment fragment = (AllDevicesFragment)man.findFragmentByTag(tag); if(fragment == null){ fragment = new AllDevicesFragment(); } FragmentTransaction t = man.beginTransaction(); t.add(R.id.main_frame, fragment, tag); t.commit(); } โดยปกติฉันจะมีวิธีหนึ่งต่อหน้าจอแอปพลิเคชัน ฉันทำสิ่งนี้เมื่อฉันทำงานกับฐานข้อมูลท้องถิ่นขนาดเล็ก (โดยปกติจะเป็น SQLite) ดังนั้นฉันจึงนำไปใช้กับแฟรกเมนต์ซึ่งดูเหมือนจะมีเวิร์กโฟลว์ที่คล้ายกัน ฉันไม่ได้แต่งงานกับมัน คุณจัดระเบียบแอปพลิเคชันของคุณให้เชื่อมต่อกับ Fragments API ได้อย่างไรและคุณคิดว่ารูปแบบการออกแบบ (ถ้ามี) มีอะไรบ้าง

4
ความแตกต่างระหว่างการทำงานของอะตอมและความปลอดภัยของเธรดหรือไม่
จากการสนทนาที่ฉันได้เห็นดูเหมือนว่าการทำงานของปรมาณูและความปลอดภัยของเธรดนั้นเป็นสิ่งเดียวกัน แต่ผู้คนมากมายบอกว่าพวกเขาต่างกัน มีใครบอกความแตกต่างได้ไหมถ้ามี

11
ฉันต้องเรียนรู้ html และ javascript เพื่อสร้างเว็บแอปพลิเคชันหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันเป็นโปรแกรมเมอร์ Java ที่มีประสบการณ์และฉันต้องการสร้างแอปพลิเคชันบนเว็บที่ซับซ้อนซึ่งต้องการหน้าแบบไดนามิกภาพวาดและอื่น ๆ (ยกตัวอย่างเช่น) ฉันต้องเรียนรู้ javascript / html เพื่อสร้างแอปพลิเคชันดังกล่าวหรือไม่? ไม่ใช่ว่าฉันไม่ต้องการที่จะเรียนรู้ภาษาอื่น (ฉันเคยทำมาก่อนแล้ว) แต่เทคโนโลยีในสภาพแวดล้อมแบบจาวาสคริปต์ดูเหมือนว่าจะเปลี่ยนแปลงเร็วมากเมื่อคุณเรียนรู้กรอบหนึ่งมันก็ล้าสมัยไปแล้ว ฉันได้ตรวจสอบจาวาเฟรมเวิร์กจำนวนหนึ่งสำหรับการพัฒนาเว็บไซต์ (spring, play) แต่ไม่ลึกมาก ดังนั้นกรอบเหล่านี้ (หรือกรอบจาวาอื่น ๆ ที่เป็นไปได้ที่ฉันไม่ทราบ) สามารถใช้ได้โดยไม่ต้องเรียนรู้ html / javascript หรือไม่ ฉันยังมีประสบการณ์หลาม ดังนั้นถ้าฉันสามารถทำแอพในหลามมันก็เป็นตัวเลือกเช่นกัน

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