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

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

9
ตรวจสอบจำนวนอาร์กิวเมนต์ที่ส่งผ่านไปยังสคริปต์ Bash
ฉันต้องการให้สคริปต์ Bash ของฉันพิมพ์ข้อความแสดงข้อผิดพลาดหากไม่นับจำนวนอาร์กิวเมนต์ที่ต้องการ ฉันลองรหัสต่อไปนี้: #!/bin/bash echo Script name: $0 echo $# arguments if [$# -ne 1]; then echo "illegal number of parameters" fi ด้วยเหตุผลที่ไม่ทราบสาเหตุบางอย่างฉันได้รับข้อผิดพลาดต่อไปนี้: test: line 4: [2: command not found ผมทำอะไรผิดหรือเปล่า?


5
ฉันจะรับเวอร์ชันไฟล์ประกอบได้อย่างไร
ในAssemblyInfoมีสองรุ่นประกอบ: AssemblyVersion: ระบุรุ่นของแอสเซมบลีที่เกิดขึ้น AssemblyFileVersion: สั่งให้คอมไพเลอร์ใช้หมายเลขรุ่นเฉพาะสำหรับทรัพยากรเวอร์ชั่นของไฟล์ Win32 รุ่นของไฟล์ Win32 ไม่จำเป็นต้องเหมือนกับหมายเลขเวอร์ชั่นของชุดประกอบ ฉันจะได้รับAssembly Versionกับบรรทัดของรหัสต่อไปนี้: Version version = Assembly.GetEntryAssembly().GetName().Version; แต่ฉันจะหาได้Assembly File Versionอย่างไร
727 c#  .net  assemblies  version 

20
การจัดการข้อผิดพลาด jQuery Ajax แสดงข้อความยกเว้นที่กำหนดเอง
มีวิธีที่ฉันสามารถแสดงข้อความยกเว้นที่กำหนดเองเป็นการแจ้งเตือนในข้อความแสดงข้อผิดพลาด jQuery AJAX ของฉันหรือไม่ ตัวอย่างเช่นถ้าฉันต้องการส่งข้อยกเว้นทางฝั่งเซิร์ฟเวอร์ผ่านStrutsโดยthrow new ApplicationException("User name already exists");ฉันต้องการจับข้อความนี้ ('ชื่อผู้ใช้มีอยู่แล้ว') ในข้อความแสดงข้อผิดพลาด jQuery AJAX jQuery("#save").click(function () { if (jQuery('#form').jVal()) { jQuery.ajax({ type: "POST", url: "saveuser.do", dataType: "html", data: "userId=" + encodeURIComponent(trim(document.forms[0].userId.value)), success: function (response) { jQuery("#usergrid").trigger("reloadGrid"); clear(); alert("Details saved successfully!!!"); }, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } …

15
Java ติดตั้งอยู่ที่ไหนบน Mac OS X
ฉันเพิ่งดาวน์โหลด Java 7u17 บน Mac OS 10.7.5 จากที่นี่แล้วติดตั้งสำเร็จ ในการทำการเขียนโปรแกรม JNI ฉันต้องรู้ว่าติดตั้ง Java บน Mac ของฉันไว้ที่ใด ฉันคิดว่าภายใน/Library/Java/JavaVirtualMachines/โฟลเดอร์จะมีโฟลเดอร์ชื่อ1.7.0.jdkหรืออะไรบางอย่าง แต่แล้วฉันก็พบว่าโฟลเดอร์ว่างเปล่า สิ่งนี้ได้รับการยืนยันจากการรันls /Library/Java/JavaVirtualMachines/ในเทอร์มินัล ฉันได้ลองค้นหามันเพื่อดูว่ามีการติดตั้งที่อื่น แต่ดูเหมือนจะไม่เกิดอะไรขึ้น ใครช่วยกรุณาบอกฉันว่ามีการติดตั้ง Java บน Mac ของฉัน?
726 java  macos 

11
เป็นไปได้ไหมที่เชอร์รี่จะเลือกคอมมิทจากคอมไพล์ git อื่น?
ฉันกำลังทำงานกับที่เก็บ git ที่ต้องการคอมมิทจากที่เก็บ git อื่นที่ไม่รู้อะไรเลยก่อน โดยทั่วไปแล้วฉันจะเลือกใช้เชอร์รี่โดยใช้HEAD@{x}ในการอ้างอิง แต่เนื่องจาก.gitไม่มีความรู้ใด ๆ ในรายการ reflog นี้ (ไดเรกทอรีทางกายภาพที่แตกต่างกัน) ฉันจะเลือกเชอร์รี่นี้ได้อย่างไรหรือฉันจะทำอย่างไร git-svnฉันใช้ สาขาแรกของฉันคือการใช้git-svnของtrunkของธุรกรรมซื้อคืนภาคการโค่นล้มและสาขาต่อไปคือการใช้git-svnในสาขาการโค่นล้ม
726 git  cherry-pick 

30
การเรียงลำดับตัวเลข 1 หลัก 8 หลัก 8 หลักพร้อม RAM 1 MB
ฉันมีคอมพิวเตอร์ที่มี RAM ขนาด 1 MB และไม่มีที่เก็บในตัวเครื่องอื่น ฉันต้องใช้มันเพื่อรับ 1 ล้าน 8 หลักเลขทศนิยมผ่านการเชื่อมต่อ TCP เรียงลำดับแล้วส่งรายการที่เรียงลำดับออกไปผ่านการเชื่อมต่อ TCP อื่น รายการตัวเลขอาจมีซ้ำซึ่งฉันต้องไม่ทิ้ง รหัสจะถูกวางใน ROM ดังนั้นฉันไม่จำเป็นต้องลบขนาดของรหัสของฉันจาก 1 MB ฉันมีรหัสเพื่อขับเคลื่อนพอร์ต Ethernet และจัดการการเชื่อมต่อ TCP / IP และต้องใช้ 2 KB สำหรับข้อมูลสถานะรวมถึงบัฟเฟอร์ 1 KB ผ่านที่รหัสจะอ่านและเขียนข้อมูล มีวิธีแก้ไขปัญหานี้หรือไม่? แหล่งที่มาของคำถามและคำตอบ: slashdot.org cleaton.net

14
มีตัวเลือก git-merge --dry-run หรือไม่
ฉันกำลังรวมในสาขาระยะไกลที่อาจมีความขัดแย้งมากมาย ฉันจะบอกได้อย่างไรว่ามันจะมีความขัดแย้งหรือไม่? ฉันไม่เห็นอะไรเหมือนใน --dry-rungit-merge
725 git  git-merge 


23
ฉันจะเปรียบเทียบสตริงใน Java ได้อย่างไร
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ Наэтотвопросестьответына กองมากเกินнарусском : Каксравниватьстрокив Java? ฉันใช้==โอเปอเรเตอร์ในโปรแกรมของฉันเพื่อเปรียบเทียบสตริงทั้งหมดของฉันจนถึงตอนนี้ อย่างไรก็ตามฉันพบข้อผิดพลาดเปลี่ยนหนึ่งในนั้น.equals()แทนและแก้ไขข้อผิดพลาด คือ==ไม่ดี? เมื่อใดควรและไม่ควรใช้ ความแตกต่างคืออะไร?
724 java  string  equality 


20
คลาสจัดข้อความสำหรับภายในตาราง
มีชุดคลาสในกรอบ Bootstrap ของ Twitter ที่จัดแนวข้อความหรือไม่ ตัวอย่างเช่นฉันมีบางตารางที่มี$ผลรวมที่ฉันต้องการจัดชิดขวา <th class="align-right">Total</th> และ <td class="align-right">$1,000,000.00</td>

30
ข้อผิดพลาด: ไม่สามารถตั้งค่าส่วนหัวหลังจากพวกเขาถูกส่งไปยังลูกค้า
ฉันค่อนข้างใหม่กับ Node.js และฉันมีปัญหาบางอย่าง ฉันใช้ Node.js 4.10 และ Express 2.4.3 เมื่อฉันพยายามที่จะเข้าถึงhttp://127.0.0.1:8888/auth/facebookฉันจะถูกเปลี่ยนเส้นทางไปhttp://127.0.0.1:8888/auth/facebook_callback ฉันได้รับข้อผิดพลาดดังต่อไปนี้: Error: Can't render headers after they are sent to the client. at ServerResponse.<anonymous> (http.js:573:11) at ServerResponse._renderHeaders (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect/lib/patch.js:64:25) at ServerResponse.writeHead (http.js:813:20) at /home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/auth.strategies/facebook.js:28:15 at /home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/index.js:113:13 at next (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/strategyExecutor.js:45:39) at [object Object].pass (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/authExecutionScope.js:32:3) at [object Object].halt (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/authExecutionScope.js:29:8) at [object Object].redirect (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/authExecutionScope.js:16:8) …

28
ฉันจะรับนามสกุลไฟล์ใน PHP ได้อย่างไร
นี่เป็นคำถามที่คุณสามารถอ่านได้ทุกที่บนเว็บพร้อมคำตอบที่หลากหลาย: $ext = end(explode('.', $filename)); $ext = substr(strrchr($filename, '.'), 1); $ext = substr($filename, strrpos($filename, '.') + 1); $ext = preg_replace('/^.*\.([^.]+)$/D', '$1', $filename); $exts = split("[/\\.]", $filename); $n = count($exts)-1; $ext = $exts[$n]; เป็นต้น อย่างไรก็ตามมี "วิธีที่ดีที่สุด" เสมอและควรอยู่ใน Stack Overflow

11
ฉันจะลบไฟล์ที่ระบุว่า "โหมดเก่า 100755 โหมดใหม่ 100644" จากการเปลี่ยนแปลงแบบไม่คงที่ใน Git ได้อย่างไร
ด้วยเหตุผลบางอย่างเมื่อตอนแรกที่ฉันดึงจากที่เก็บสำหรับโครงการคอมไพล์ของฉันฉันได้รับไฟล์จำนวนมากในสำเนาการทำงานของฉันที่ไม่มีการเปลี่ยนแปลงที่สังเกตเห็นได้ แต่ยังปรากฏในunstaged changesพื้นที่ ของฉัน ฉันใช้ Git Gui บน Windows xp และเมื่อฉันไปดูไฟล์เพื่อดูว่ามีอะไรเปลี่ยนแปลง ทั้งหมดที่ฉันเห็นคือ: old mode 100755 new mode 100644 ไม่มีใครรู้ว่าสิ่งนี้หมายความว่าอย่างไร ฉันจะลบไฟล์เหล่านี้ออกจากรายการการเปลี่ยนแปลงแบบไม่จัดเตรียมได้อย่างไร? (น่ารำคาญมากที่ต้องผ่านไฟล์หลายร้อยไฟล์เพียงเพื่อเลือกไฟล์ที่ฉันเพิ่งแก้ไขและต้องการส่ง)
723 git  git-gui 

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