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

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

22
ฉันติดตั้ง Python เวอร์ชันใด
ฉันต้องเรียกใช้สคริปต์ Python บนเซิร์ฟเวอร์ Windows ฉันจะรู้ได้อย่างไรว่าฉันมี Python เวอร์ชันใดและมีความสำคัญอย่างไร ฉันคิดว่าจะอัปเดตเป็น Python เวอร์ชันล่าสุด

7
วิธีออกแบบการค้นหา / กรอง RESTful [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ขณะนี้ฉันกำลังออกแบบและใช้งาน RESTful API ใน PHP อย่างไรก็ตามฉันไม่ประสบความสำเร็จในการนำการออกแบบเริ่มต้นไปใช้ GET /users # list of users GET /user/1 # get user with id 1 POST /user # create new user PUT /user/1 # modify user with id 1 DELETE /user/1 # delete user with id 1 จนถึงมาตรฐานสวยใช่มั้ย …
457 api  search  rest  filter 

5
เรียงรายการตามคุณลักษณะหลาย ๆ
ฉันมีรายการ: [[12, 'tall', 'blue', 1], [2, 'short', 'red', 9], [4, 'tall', 'blue', 13]] ถ้าผมต้องการที่จะเรียงลำดับตามองค์ประกอบหนึ่งพูดสูง / s = sorted(s, key = itemgetter(1))องค์ประกอบระยะสั้นผมสามารถทำมันได้ผ่านทาง หากฉันต้องการเรียงลำดับทั้งสูง / สั้นและสีฉันสามารถเรียงลำดับสองครั้งหนึ่งครั้งสำหรับแต่ละองค์ประกอบ แต่มีวิธีที่เร็วกว่าหรือไม่
457 python  sorting 

29
ลบเครื่องหมายเน้นเสียง / การกำกับเสียงในสตริงใน JavaScript
ฉันจะลบอักขระที่เน้นเสียงออกจากสตริงได้อย่างไร โดยเฉพาะอย่างยิ่งใน IE6 ฉันมีสิ่งนี้: accentsTidy = function(s){ var r=s.toLowerCase(); r = r.replace(new RegExp(/\s/g),""); r = r.replace(new RegExp(/[àáâãäå]/g),"a"); r = r.replace(new RegExp(/æ/g),"ae"); r = r.replace(new RegExp(/ç/g),"c"); r = r.replace(new RegExp(/[èéêë]/g),"e"); r = r.replace(new RegExp(/[ìíîï]/g),"i"); r = r.replace(new RegExp(/ñ/g),"n"); r = r.replace(new RegExp(/[òóôõö]/g),"o"); r = r.replace(new RegExp(/œ/g),"oe"); r = r.replace(new RegExp(/[ùúûü]/g),"u"); r …

7
วิธีเพิ่มเครื่องหมายเปอร์เซ็นต์ใน NSString
ฉันต้องการมีเครื่องหมายเปอร์เซ็นต์ในสายอักขระของฉันหลังจากตัวเลข บางสิ่งเช่นนี้: 75% ฉันจะทำสิ่งนี้ได้อย่างไร ฉันเหนื่อย: [NSString stringWithFormat:@"%d\%", someDigit]; แต่มันไม่ได้ผลสำหรับฉัน


3
มีวิธีในการติดตามการเปลี่ยนเส้นทางด้วยบรรทัดคำสั่ง cURL หรือไม่
ฉันรู้ว่าในสคริปต์ PHP: curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); จะติดตามการเปลี่ยนเส้นทาง มีวิธีในการติดตามการเปลี่ยนเส้นทางด้วยบรรทัดคำสั่ง cURL หรือไม่

7
คำอธิบายของ <script type =“ text / template”> … </script>
ฉันสะดุดสิ่งที่ฉันไม่เคยเห็นมาก่อน ในแหล่งที่มาของแอปพลิเคชันตัวอย่างของ Backbone.js ( ตัวอย่างแบ็กโบน TODO ) พวกเขามีเทมเพลตอยู่ภายใน&lt;script type = "text/template"&gt;&lt;/script&gt;ซึ่งมีรหัสที่ดูเหมือน PHP แต่มีแท็ก JavaScript มีคนอธิบายเรื่องนี้กับฉันได้ไหม ถูกกฎหมายหรือไม่


30
กรณีต่อต้านการตรวจสอบข้อยกเว้น
เป็นเวลาหลายปีแล้วที่ฉันไม่สามารถรับคำตอบที่เหมาะสมสำหรับคำถามต่อไปนี้: เหตุใดนักพัฒนาซอฟต์แวร์บางคนจึงต่อต้านข้อยกเว้นที่ตรวจสอบ ฉันมีการสนทนามากมายอ่านสิ่งต่าง ๆ บนบล็อกอ่านสิ่งที่ Bruce Eckel ต้องพูด (คนแรกที่ฉันเห็นพูดต่อต้านพวกเขา) ขณะนี้ฉันกำลังเขียนโค้ดใหม่และให้ความสนใจอย่างระมัดระวังกับวิธีที่ฉันจัดการกับข้อยกเว้น ฉันพยายามที่จะเห็นมุมมองของฝูงชน "เราไม่ชอบการตรวจสอบข้อยกเว้น" และฉันก็ยังไม่เห็น ทุกบทสนทนาที่ฉันจบลงด้วยคำถามเดียวกันที่ยังไม่ได้รับคำตอบขอให้ฉันตั้งค่า: โดยทั่วไป (จากวิธีการออกแบบ Java) Error สำหรับสิ่งที่ไม่ควรถูกจับ (VM มีอาการแพ้ถั่วลิสงและมีคนทิ้งขวดถั่วลิสงลงไป) RuntimeException สำหรับสิ่งที่โปรแกรมเมอร์ทำผิด (โปรแกรมเมอร์เดินจากจุดสิ้นสุดของอาร์เรย์) Exception(ยกเว้นRuntimeException) สำหรับสิ่งที่อยู่นอกเหนือการควบคุมของโปรแกรมเมอร์ (ดิสก์เต็มในขณะที่เขียนไปยังระบบไฟล์มีการ จำกัด การจัดการไฟล์สำหรับกระบวนการแล้วและคุณไม่สามารถเปิดไฟล์ได้อีก) Throwable เป็นเพียงพาเรนต์ของชนิดข้อยกเว้นทั้งหมด อาร์กิวเมนต์ทั่วไปที่ฉันได้ยินคือถ้ามีข้อยกเว้นเกิดขึ้นจากนั้นนักพัฒนาทั้งหมดจะต้องทำคือออกจากโปรแกรม อาร์กิวเมนต์ที่พบบ่อยอีกข้อที่ฉันได้ยินคือการยกเว้นการตรวจสอบทำให้ยากต่อการกำหนดรหัสซ้ำ สำหรับอาร์กิวเมนต์ "สิ่งที่ฉันต้องทำคือออก" ฉันบอกว่าแม้ว่าคุณจะออกจากคุณต้องแสดงข้อความแสดงข้อผิดพลาดที่สมเหตุสมผล หากคุณเพียงแค่ลงโทษในการจัดการข้อผิดพลาดผู้ใช้ของคุณจะไม่มีความสุขมากเกินไปเมื่อโปรแกรมออกโดยไม่ระบุสาเหตุที่ชัดเจน สำหรับกลุ่ม "ทำให้ยากที่จะสร้างใหม่" ซึ่งบ่งชี้ว่าไม่ได้เลือกระดับที่เหมาะสมของสิ่งที่เป็นนามธรรม แทนที่จะประกาศวิธีการพ่นIOExceptionที่IOExceptionควรจะเปลี่ยนเป็นข้อยกเว้นที่เหมาะสมมากขึ้นสำหรับสิ่งที่เกิดขึ้นใน ฉันไม่มีปัญหาในการตัด Main ด้วยcatch(Exception)(หรือในบางกรณีcatch(Throwable)เพื่อให้แน่ใจว่าโปรแกรมสามารถออกจากระบบได้อย่างงดงาม - แต่ฉันมักจะจับข้อยกเว้นเฉพาะที่จำเป็นต้องใช้การทำเช่นนั้นทำให้ฉันสามารถแสดงที่เหมาะสมอย่างน้อยที่สุด ข้อความผิดพลาด. คำถามที่ผู้คนไม่เคยตอบคือ: หากคุณโยนRuntimeException คลาสย่อยแทนที่จะเป็นException …

11
นำเข้าไฟล์จากไดเรกทอรีย่อยหรือไม่
ฉันมีไฟล์ที่เรียกว่าตั้งอยู่บนtester.py/project /projectมีไดเรกทอรีย่อยที่เรียกว่าlibโดยมีไฟล์ชื่อBoxTime.py: /project/tester.py /project/lib/BoxTime.py ฉันต้องการที่จะนำเข้าจากBoxTime testerฉันได้ลองสิ่งนี้แล้ว: import lib.BoxTime ซึ่งส่งผลให้: Traceback (most recent call last): File "./tester.py", line 3, in &lt;module&gt; import lib.BoxTime ImportError: No module named lib.BoxTime แนวคิดใดที่นำเข้าBoxTimeจากไดเรกทอรีย่อย? แก้ไข __init__.pyเป็นปัญหา แต่ไม่ลืมที่จะอ้างถึงBoxTimeในฐานะlib.BoxTimeหรือการใช้งาน: import lib.BoxTime as BT ... BT.bt_function()

14
เยื้องที่เหมาะสมสำหรับ Python หลายสาย
การเยื้องที่เหมาะสมสำหรับ Python หลายสายภายในฟังก์ชันคืออะไร def method(): string = """line one line two line three""" หรือ def method(): string = """line one line two line three""" หรืออย่างอื่น? มันดูแปลก ๆ ที่มีสตริงที่ห้อยอยู่ภายนอกฟังก์ชั่นในตัวอย่างแรก
456 python  string 

13
ความแตกต่างระหว่าง“ @ id /” และ“ @ + id /” ใน Android
ความแตกต่างระหว่าง@id/และ@+id/คืออะไร? ใน@+id/เครื่องหมายบวก+สั่งให้สร้างชื่อทรัพยากรใหม่และเพิ่มเข้าไปในR.javaไฟล์ แต่สิ่งที่เกี่ยวกับ@id/? จากเอกสารของID: เมื่ออ้างอิงทรัพยากร Android IDคุณไม่จำเป็นต้องมีเครื่องหมายบวก แต่จะต้องเพิ่มเนมสเปซของ Android package เช่น: android:id="@android:id/list" @android:id/แต่ในภาพด้านล่างคราสไม่แนะนำชนิดของใด ๆ มี@id/และ@android:id/เดียวกันได้หรือไม่


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

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