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

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


6
"enable_shared_from_this" นี้มีประโยชน์อย่างไร
ฉันวิ่งข้ามenable_shared_from_thisในขณะที่อ่านตัวอย่าง Boost.Asio และหลังจากอ่านเอกสารฉันยังคงหลงทางว่าควรใช้สิ่งนี้อย่างถูกต้องอย่างไร ใครช่วยได้โปรดยกตัวอย่างและคำอธิบายว่าเมื่อใดที่ใช้คลาสนี้
349 c++  boost  boost-asio  tr1 

10
มาโครที่น่าจะเป็น / ไม่น่าจะทำงานในเคอร์เนล Linux ได้อย่างไรและประโยชน์ของมันคืออะไร?
ฉันขุดผ่านบางส่วนของเคอร์เนล Linux และพบสายเช่นนี้: if (unlikely(fd < 0)) { /* Do something */ } หรือ if (likely(!err)) { /* Do something */ } ฉันได้พบคำจำกัดความของพวกเขา: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0) ฉันรู้ว่ามีไว้สำหรับการปรับให้เหมาะสม แต่จะทำงานอย่างไร และสามารถลดขนาดประสิทธิภาพ / ขนาดได้เท่าไรจากการใช้งาน? และมันก็คุ้มค่ากับความยุ่งยาก (และการสูญเสียความสามารถในการพกพา) อย่างน้อยในโค้ดคอขวด (ใน userspace แน่นอน)

16
เป็นไปได้ไหมที่จะใช้ pip เพื่อติดตั้งแพ็กเกจจากแหล่งเก็บข้อมูลส่วนตัว GitHub?
ฉันพยายามติดตั้งแพ็กเกจ Python จากที่เก็บ GitHub ส่วนตัว สำหรับพื้นที่เก็บข้อมูลสาธารณะฉันสามารถออกคำสั่งต่อไปนี้ซึ่งทำงานได้ดี: pip install git+git://github.com/django/django.git อย่างไรก็ตามถ้าฉันลองนี้สำหรับที่เก็บส่วนตัว: pip install git+git://github.com/echweb/echweb-utils.git ฉันได้รับผลลัพธ์ต่อไปนี้: Downloading/unpacking git+git://github.com/echweb/echweb-utils.git Cloning Git repository git://github.com/echweb/echweb-utils.git to /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build Complete output from command /usr/local/bin/git clone git://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build: fatal: The remote end hung up unexpectedly Cloning into /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build... ---------------------------------------- Command /usr/local/bin/git clone git://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build failed with error code …
349 python  git  github  pip 

8
การทดสอบ JavaScript ของจัสมิน - toBe กับ toEqual
สมมติว่าฉันมีดังต่อไปนี้: var myNumber = 5; expect(myNumber).toBe(5); expect(myNumber).toEqual(5); ทั้งการทดสอบข้างต้นจะผ่าน มีความแตกต่างระหว่างtoBe()และtoEqual()เมื่อมันมาถึงการประเมินตัวเลข? ถ้าเป็นเช่นนั้นฉันควรใช้อันใดอันหนึ่ง

2
จะทำให้การเปลี่ยนแปลง“ ของพวกเขา” อยู่ตรงกลางของการรีบูต Git ที่ขัดแย้งกันได้อย่างไร?
ฉันมีสาขาที่ขัดแย้งกัน branch2 แยกจาก branch1 สมมติว่าเมื่อ rebasing branch2ในปัจจุบันbranch1ในขณะที่แก้ปัญหาความขัดแย้งผมตัดสินใจที่จะใช้บางส่วน (ไม่ทั้งหมด) ของ (เช่น "ของ" branch1) ไฟล์ตามที่เป็น ฉันจะทำอย่างไร ฉันเหนื่อย: git checkout branch1:foo/bar.java fatal: reference is not a tree: TS-modules-tmp:foo/bar.java git checkout refs/heads/branch1:foo/bar.java fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java
349 git  rebase  git-rebase 

19
วิธีที่จะไปจากการเรียกซ้ำไปซ้ำ
ฉันใช้การเรียกซ้ำหลายครั้งในการเขียนโปรแกรมเป็นเวลาหลายปีเพื่อแก้ไขปัญหาที่เรียบง่าย แต่ฉันรู้ดีว่าบางครั้งคุณจำเป็นต้องทำซ้ำเนื่องจากปัญหาหน่วยความจำ / ความเร็ว ดังนั้นบางครั้งในอดีตที่ผ่านมาฉันลองไปหาว่ามี "รูปแบบ" หรือวิธีการแบบหนังสือหรือข้อความใด ๆ ในการเปลี่ยนวิธีการเรียกซ้ำโดยทั่วไปเพื่อทำซ้ำและไม่พบอะไรเลย หรืออย่างน้อยก็ไม่มีอะไรที่ฉันจำได้ว่ามันจะช่วย มีกฎทั่วไปหรือไม่ มี "รูปแบบ" หรือไม่?

18
ฉันจะฆ่ากระบวนการด้วยชื่อแทนที่จะเป็น PID ได้อย่างไร
บางครั้งเมื่อฉันพยายามเริ่ม Firefox คำว่า "กระบวนการ Firefox กำลังทำงานอยู่" ดังนั้นฉันต้องทำสิ่งนี้: jeremy@jeremy-desktop:~$ ps aux | grep firefox jeremy 7451 25.0 27.4 170536 65680 ? Sl 22:39 1:18 /usr/lib/firefox-3.0.1/firefox jeremy 7578 0.0 0.3 3004 768 pts/0 S+ 22:44 0:00 grep firefox jeremy@jeremy-desktop:~$ kill 7451 สิ่งที่ฉันต้องการคือคำสั่งที่จะทำทุกอย่างให้ฉัน มันจะใช้สตริงอินพุตและgrepมัน (หรืออะไรก็ตาม) ในรายการของกระบวนการและจะฆ่ากระบวนการทั้งหมดในผลลัพธ์: jeremy@jeremy-desktop:~$ killbyname firefox ฉันพยายามทำมันใน PHP แต่exec('ps aux')ดูเหมือนว่าจะแสดงเฉพาะกระบวนการที่ถูกดำเนินการด้วยexec()สคริปต์ …
349 linux  bash  shell 

13
อะไรคือความแตกต่างระหว่างวัตถุ HashMap และแผนที่ใน Java?
อะไรคือความแตกต่างระหว่างแผนที่ต่อไปนี้ที่ฉันสร้าง (ในอีกคำถามหนึ่งผู้คนตอบว่าใช้พวกเขาแทนกันได้และฉันสงสัยว่า / พวกเขาแตกต่างกันอย่างไร): HashMap<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
349 java  dictionary  hashmap 

6
std :: unique_lock <std :: mutex> หรือ std :: lock_guard <std :: mutex>?
ตั้งค่าใหม่ให้กับStack Overflow ที่ใช้งานอยู่ : Чем std :: unique_lock отличаетсяот std :: lock_guard? ฉันมีสองกรณีใช้ A. ฉันต้องการซิงโครไนซ์การเข้าถึงโดยสองเธรดกับคิว B. ฉันต้องการซิงโครไนซ์การเข้าถึงโดยสองเธรดกับคิวและใช้ตัวแปรเงื่อนไขเพราะหนึ่งในเธรดจะรอเนื้อหาที่จะเก็บไว้ในคิวโดยเธรดอื่น สำหรับกรณีที่ใช้ AI std::lock_guard&lt;&gt;ดูตัวอย่างการใช้รหัส สำหรับกรณีการใช้งาน BI std::unique_lock&lt;&gt;ดูตัวอย่างการใช้รหัส อะไรคือความแตกต่างระหว่างทั้งสองกับสิ่งที่ฉันควรใช้ในกรณีที่ใช้?

14
Node.js: ข้อผิดพลาด ENOSPC คืออะไรและจะแก้ไขได้อย่างไร
ฉันมีปัญหากับ Node.js และการอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ สำหรับการอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ฉันใช้ปลั๊กอินนี้ เมื่อเริ่มอัพโหลดไฟล์ไปยังเซิร์ฟเวอร์กระบวนการ Node.js ขัดข้องและแสดงข้อผิดพลาด: ข้อผิดพลาด: ENOSPC รหัสเซิร์ฟเวอร์ไม่ทำงาน $ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.9G 4.1G 3.5G 55% / udev 288M 8.0K 288M 1% /dev tmpfs 119M 168K 118M 1% /run none 5.0M 0 5.0M 0% /run/lock none 296M 0 296M 0% /run/shm …
349 node.js 


12
มีคำสั่ง TRY CATCH ใน Bash หรือไม่
ฉันกำลังเขียนเชลล์สคริปต์และจำเป็นต้องตรวจสอบว่ามีการติดตั้งแอปเทอร์มินัล ฉันต้องการใช้คำสั่งลอง / จับเพื่อทำสิ่งนี้เว้นแต่จะมีวิธีการที่เหนือกว่า

9
ค้นหาดัชนีการเกิดขึ้นครั้งสุดท้ายของสตริงย่อยในสตริง
ฉันต้องการที่จะหาตำแหน่ง (หรือดัชนี) strของเกิดขึ้นครั้งล่าสุดของสตริงย่อยบางอย่างในสายป้อนให้ ตัวอย่างเช่นสมมติว่าสตริงอินพุตเป็นstr = 'hello'และสตริงย่อยคือtarget = 'l'ดังนั้นมันควรจะส่งออก 3 ฉันจะทำสิ่งนี้ได้อย่างไร
349 python  string 

3
การเปลี่ยนแปลงที่เก็บสะสม git นำไปใช้กับสาขาใหม่ได้หรือไม่
ฉันกำลังทำงานในสาขาหลักทำการเปลี่ยนแปลงบางอย่างแล้ว stashed พวกเขา ตอนนี้เจ้านายของฉันอยู่ที่ HEAD แต่ตอนนี้ฉันต้องการเรียกการเปลี่ยนแปลงเหล่านี้ แต่กลับไปยังสาขาใหม่ที่แยกสาขาจากเวอร์ชัน HEAD ของสาขาหลัก ฉันจะทำสิ่งนี้ได้อย่างไร
349 git 

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