การเขียนโปรแกรม

คำถาม & คำตอบสำหรับโปรแกรมเมอร์มืออาชีพและกระตือรือร้น


17
วิธีปิดใช้งานท่าทางการปัดย้อนกลับใน UINavigationController บน iOS 7
ใน iOS 7 Apple เพิ่มพฤติกรรมการนำทางเริ่มต้นใหม่ คุณสามารถปัดจากขอบซ้ายของหน้าจอเพื่อย้อนกลับไปที่สแต็กการนำทาง แต่ในแอพของฉันพฤติกรรมนี้ขัดแย้งกับเมนูด้านซ้ายที่กำหนดเองของฉัน ดังนั้นจึงเป็นไปได้ที่จะปิดการใช้งานท่าทางใหม่นี้ใน UINavigationController?

14
ความแตกต่างระหว่าง Java SE / EE / ME?
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันควรติดตั้งอันไหนเมื่อฉันต้องการเริ่มเรียนรู้ Java? ฉันจะเริ่มด้วยพื้นฐานบางอย่างดังนั้นฉันจะเขียนโปรแกรมง่ายๆที่สร้างไฟล์ไดเรกทอรีแก้ไขไฟล์ XML และอื่น ๆ ตอนนี้ไม่มีอะไรซับซ้อนเกินไป ฉันเดาว่า Java SE (Standard Edition) เป็นสิ่งที่ฉันควรติดตั้งบนเดสก์ท็อป Windows 7 ของฉัน ฉันมี Komodo IDE อยู่แล้วซึ่งฉันจะใช้เพื่อเขียนโค้ด Java
326 java  jakarta-ee  java-me 

8
เหตุใดฉันจึงควรใช้ IHttpActionResult แทน HttpResponseMessage
ฉันได้รับการพัฒนากับ WebAPI และได้ย้ายไป WebApi2 ที่ไมโครซอฟท์ได้แนะนำใหม่อินเตอร์เฟซที่ดูเหมือนว่าจะแนะนำให้นำมาใช้มากกว่ากลับIHttpActionResult HttpResponseMessageฉันสับสนกับข้อดีของอินเทอร์เฟซใหม่นี้ มันดูเหมือนว่าส่วนใหญ่เพียงแค่ให้เล็กน้อยHttpResponseMessageวิธีที่ง่ายในการสร้าง ฉันจะโต้แย้งว่านี่เป็น "สิ่งที่เป็นนามธรรมเพื่อประโยชน์ของการเป็นนามธรรม" ฉันพลาดอะไรไปรึเปล่า? อะไรคือข้อได้เปรียบของโลกแห่งความเป็นจริงที่ฉันได้รับจากการใช้อินเทอร์เฟซใหม่นอกเหนือจากการบันทึกบรรทัดโค้ด วิธีเก่า (WebApi): public HttpResponseMessage Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { return new HttpResponseMessage(HttpStatusCode.OK); } else { throw new HttpResponseException(HttpStatusCode.NotFound); } } วิธีใหม่ (WebApi2): public IHttpActionResult Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { …

4
ฉันควรใช้ ORM ใดสำหรับ Node.js และ MySQL [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันกำลังเขียนโครงการเพื่อใช้ Node.js ฉันต้องการใช้ MySQL เป็นฐานข้อมูลต่อไป (แม้ว่าฉันจะไม่สนใจเขียนสคีมาใหม่) ฉันกำลังมองหา ORM ประสิทธิภาพที่ใช้งานง่ายและสมเหตุสมผลซึ่งสนับสนุนการแคชความสัมพันธ์แบบหนึ่งต่อหนึ่งและหลายต่อหลายคน จาก ORMs MySQL ที่ฉันสามารถหาpersistencejsและsequelizeดูเหมือนส่วนใหญ่เป็นผู้ใหญ่ คุณมีประสบการณ์อย่างใดอย่างหนึ่งหรือไม่? ฉันควรทราบถึงข้อดีและข้อเสียที่เกี่ยวข้องในการตัดสินใจของฉันอย่างไร
326 mysql  orm  node.js 

15
AngularJS: ฉันจะส่งผ่านตัวแปรระหว่างตัวควบคุมได้อย่างไร
ฉันมีตัวควบคุมเชิงมุมสองตัว: function Ctrl1($scope) { $scope.prop1 = "First"; } function Ctrl2($scope) { $scope.prop2 = "Second"; $scope.both = Ctrl1.prop1 + $scope.prop2; //This is what I would like to do ideally } ฉันไม่สามารถใช้Ctrl1ภายในCtrl2เพราะมันไม่ได้กำหนด อย่างไรก็ตามถ้าฉันพยายามผ่านมันให้เป็นเช่นนั้น ... function Ctrl2($scope, Ctrl1) { $scope.prop2 = "Second"; $scope.both = Ctrl1.prop1 + $scope.prop2; //This is what I would like …

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

30
ไม่สามารถรัน Eclipse ได้ JVM ถูกยกเลิก รหัสออก = 13
ฉันเพิ่งผนวก --vm C: \ Program Files \ Java \ jre6 \ bin \ javaw.exe ใน eclipse.ini จากนั้นฉันพยายามเริ่ม eclipse อีกครั้งและได้รับข้อผิดพลาดนี้ ให้ฉันวิธีการแก้ปัญหาหรือเชื่อมโยงที่จริงแก้มัน นี่คือ eclipse.ini ของฉัน -startup plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile -vm C:\Program Files\Java\jre6\bin\javaw.exe -vmargs -Xms40m -Xmx384m ขอบคุณ
326 eclipse  startup 

10
เทียบเท่าของ typedef ใน C #
มีการพิมพ์ typedef ใน C # หรือบางครั้งเพื่อให้ได้ลักษณะคล้ายกัน? ฉันทำ Google เสร็จแล้ว แต่ดูเหมือนว่าทุกที่ฉันจะลบ ขณะนี้ฉันมีสถานการณ์คล้ายกับต่อไปนี้: class GenericClass<T> { public event EventHandler<EventData> MyEvent; public class EventData : EventArgs { /* snip */ } // ... snip } ตอนนี้มันไม่ได้ใช้นักวิทยาศาสตร์จรวดที่จะเข้าใจว่าสิ่งนี้สามารถนำไปสู่การพิมพ์จำนวนมากได้อย่างรวดเร็ว (ขอโทษสำหรับปุนน่ากลัว) เมื่อพยายามที่จะดำเนินการจัดการสำหรับเหตุการณ์ที่ มันจะกลายเป็นแบบนี้: GenericClass<int> gcInt = new GenericClass<int>; gcInt.MyEvent += new EventHandler<GenericClass<int>.EventData>(gcInt_MyEvent); // ... private void gcInt_MyEvent(object …
326 c#  typedef 

12
ไม่สามารถใช้โอเปอเรเตอร์ == กับประเภททั่วไปใน C # ได้หรือไม่
ตามเอกสารของ==ผู้ประกอบการในMSDN , สำหรับประเภทค่าที่กำหนดไว้ล่วงหน้าตัวดำเนินการความเท่าเทียมกัน (==) จะส่งกลับค่าจริงถ้าค่าของตัวถูกดำเนินการเท่ากันเท็จมิฉะนั้น สำหรับชนิดการอ้างอิงอื่นที่ไม่ใช่สตริง == จะส่งกลับค่าจริงถ้าตัวถูกดำเนินการทั้งสองอ้างถึงวัตถุเดียวกัน สำหรับประเภทสตริง == เปรียบเทียบค่าของสตริง ประเภทค่าที่ผู้ใช้กำหนดสามารถโอเวอร์โหลดตัวดำเนินการ == (ดูโอเปอเรเตอร์) ดังนั้นประเภทการอ้างอิงที่ผู้ใช้กำหนดสามารถทำได้ โดยค่าเริ่มต้น == จะทำงานตามที่อธิบายไว้ข้างต้นสำหรับทั้งประเภทการอ้างอิงที่กำหนดไว้ล่วงหน้าและที่ผู้ใช้กำหนด เหตุใดข้อมูลโค้ดนี้จึงไม่สามารถรวบรวมได้ bool Compare<T>(T x, T y) { return x == y; } ฉันได้รับข้อผิดพลาดผู้ประกอบการ '==' ไม่สามารถนำไปใช้กับตัวถูกดำเนินการชนิด 'T' และ 'T' ฉันสงสัยว่าเพราะเท่าที่ฉันเข้าใจตัว==ดำเนินการที่กำหนดไว้ล่วงหน้าสำหรับทุกประเภท? แก้ไข:ขอบคุณทุกคน ตอนแรกฉันไม่ได้สังเกตว่าคำสั่งนั้นเกี่ยวกับประเภทการอ้างอิงเท่านั้น ฉันยังคิดว่าการเปรียบเทียบแบบทีละบิตมีไว้สำหรับค่าทุกประเภทซึ่งตอนนี้ฉันรู้ว่าไม่ถูกต้อง แต่ในกรณีที่ฉันใช้ประเภทอ้างอิงตัว==ดำเนินการจะใช้การเปรียบเทียบการอ้างอิงที่กำหนดไว้ล่วงหน้าหรือจะใช้ตัวดำเนินการรุ่นที่มีการโอเวอร์โหลดของผู้ประกอบการหรือไม่ แก้ไข 2:จากการทดลองและข้อผิดพลาดเราเรียนรู้ว่า==ผู้ประกอบการจะใช้การเปรียบเทียบการอ้างอิงที่กำหนดไว้ล่วงหน้าเมื่อใช้ประเภททั่วไปที่ไม่ จำกัด ที่จริงแล้วคอมไพเลอร์จะใช้วิธีการที่ดีที่สุดที่จะหาอาร์กิวเมนต์ประเภทที่ จำกัด แต่จะไม่ดูเพิ่มเติม ตัวอย่างเช่นรหัสด้านล่างจะพิมพ์ทุกtrueครั้งแม้ว่าTest.test<B>(new B(), new …

7
วิธีเพิ่มองค์ประกอบเข้ากับ listView แบบไดนามิกใน Android
ใครสามารถอธิบายหรือแนะนำการสอนเพื่อสร้าง listView ใน android ได้หรือไม่? นี่คือความต้องการของฉัน: ฉันควรจะเพิ่มองค์ประกอบใหม่แบบไดนามิกโดยการกดปุ่ม ควรเข้าใจได้ง่าย (อาจไม่มีการปรับปรุงประสิทธิภาพหรือการแปลงตัวอย่าง) ฉันรู้ว่ามีคำถามไม่กี่ข้อในหัวข้อนี้โพสต์ที่นี่ใน StackOverflow แต่ไม่พบคำถามใด ๆ ที่จะตอบคำถามของฉัน ขอบคุณ!

10
ทำการดำเนินการล้างข้อมูลก่อน Node.js ออก
ฉันต้องการบอก Node.js ให้ทำอะไรบางอย่างก่อนที่มันจะออกมาเสมอไม่ว่าจะด้วยเหตุผลใดก็ตาม - Ctrl+ C, ข้อยกเว้นหรือเหตุผลอื่น ๆ ฉันลองสิ่งนี้: process.on('exit', function (){ console.log('Goodbye!'); }); ฉันเริ่มต้นกระบวนการฆ่ามันและไม่มีอะไรเกิดขึ้น ฉันเริ่มต้นใหม่อีกครั้งกดCtrl+ Cและยังไม่มีอะไรเกิดขึ้น ...
326 node.js 

11
ฉันจะใช้การสะท้อนกลับเพื่อเรียกใช้วิธีการส่วนตัวได้อย่างไร
มีกลุ่มของวิธีการส่วนตัวในชั้นเรียนของฉันและฉันจำเป็นต้องเรียกวิธีการหนึ่งแบบไดนามิกขึ้นอยู่กับค่าการป้อนข้อมูล ทั้งรหัสการเรียกใช้และวิธีการเป้าหมายอยู่ในอินสแตนซ์เดียวกัน รหัสมีลักษณะดังนี้: MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType); dynMethod.Invoke(this, new object[] { methodParams }); ในกรณีนี้GetMethod()จะไม่ส่งคืนวิธีการส่วนตัว สิ่งที่BindingFlagsผมจะต้องจ่ายให้กับGetMethod()เพื่อที่จะสามารถหาวิธีเอกชน?

17
อินพุต jquery เลือกทั้งหมดในการโฟกัส
ฉันใช้รหัสนี้เพื่อลองและเลือกข้อความทั้งหมดในฟิลด์เมื่อผู้ใช้เน้นที่ฟิลด์ สิ่งที่เกิดขึ้นคือมันเลือกทั้งหมดเป็นวินาทีจากนั้นจะไม่ได้เลือกและเคอร์เซอร์พิมพ์จะอยู่ตรงที่ฉันคลิก ... $("input[type=text]").focus(function() { $(this).select(); }); ฉันต้องการให้เลือกทั้งหมด
326 jquery  input 

12
ฉันจะใช้ JAR ภายนอกในโครงการ Android ได้อย่างไร
ฉันได้สร้างโครงการ Android และเพิ่ม JAR ภายนอก (hessian-4.0.1.jar) ในโครงการของฉัน ฉันเพิ่ม JAR ลงในพา ธ บิลด์แล้วทำเครื่องหมายในการสั่งซื้อและส่งออก ดูเหมือนว่าการสั่งซื้อและส่งออกจะไม่ปรากฏและคลาสทั้งหมดจาก JAR ภายนอกจะหายไปเมื่อรันไทม์ มีเคล็ดลับในการรวมคลาสที่ต้องการจาก JAR ภายนอกเมื่อสร้างแอปพลิเคชัน Android โดยใช้ปลั๊กอิน Eclipse หรือไม่? ฉันไม่ต้องการใช้มดหรือ Maven

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