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

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

10
Node.js คืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันไม่ได้อย่างเต็มที่ได้รับสิ่งที่Node.jsเป็นข้อมูลเกี่ยวกับ อาจเป็นเพราะฉันเป็นนักพัฒนาแอปพลิเคชันทางธุรกิจบนเว็บเป็นหลัก มันคืออะไรและการใช้งานของมันคืออะไร? ความเข้าใจของฉันคือ: รูปแบบการเขียนโปรแกรมเป็นเหตุการณ์ที่ขับเคลื่อนด้วยโดยเฉพาะอย่างยิ่งวิธีที่จะจัดการI / O มันใช้JavaScriptและแยกวิเคราะห์เป็นV8 สามารถใช้เพื่อสร้างแอปพลิเคชันเซิร์ฟเวอร์พร้อมกันได้อย่างง่ายดาย ความเข้าใจของฉันถูกต้องหรือไม่ ถ้าเป็นเช่นนั้นสิ่งที่เป็นประโยชน์ของ I / O เหตุการณ์ที่เกิดขึ้นมันเป็นสิ่งที่มากขึ้นสำหรับสิ่งที่เกิดขึ้นพร้อมกัน? นอกจากนี้ทิศทางของ Node.js ที่จะกลายเป็นเฟรมเวิร์กเช่นโมเดลการเขียนโปรแกรม JavaScript ที่ใช้ (ตาม V8) คืออะไร?

13
ฉันจะใช้ itertools.groupby () ได้อย่างไร
ฉันไม่สามารถค้นหาคำอธิบายที่เข้าใจได้เกี่ยวกับวิธีการใช้งานitertools.groupby()ฟังก์ชั่นของไพ ธ อน สิ่งที่ฉันพยายามทำคือ: จดรายการ - ในกรณีนี้คือลูกของlxmlองค์ประกอบที่ถูกคัดแยก แบ่งออกเป็นกลุ่มตามเกณฑ์บางอย่าง จากนั้นจึงวนซ้ำแต่ละกลุ่มในภายหลัง ฉันได้ตรวจสอบเอกสารและตัวอย่างแต่ฉันมีปัญหาในการพยายามใช้มันนอกเหนือจากรายการตัวเลขอย่างง่าย ดังนั้นฉันจะใช้itertools.groupby()อย่างไร มีเทคนิคอื่นอีกไหมที่ฉันควรใช้? ตัวชี้ไปยังการอ่าน "ข้อกำหนดเบื้องต้น" ที่ดีก็จะได้รับการชื่นชม
506 python  itertools 

13
char s [] และ char * s แตกต่างกันอย่างไร?
ใน C หนึ่งสามารถใช้ตัวอักษรสตริงในการประกาศเช่นนี้: char s[] = "hello"; หรือเช่นนี้ char *s = "hello"; ดังนั้นความแตกต่างคืออะไร? ฉันต้องการที่จะรู้ว่าสิ่งที่เกิดขึ้นจริงในแง่ของระยะเวลาการจัดเก็บทั้งในเวลารวบรวมและเวลาทำงาน
506 c  string  char  constants 

5
ฉันจะ“ ลบคอมไพล์” เส้นที่ถูกลบได้อย่างไร?
git blameดีมากสำหรับการแก้ไขและเพิ่มบรรทัด แต่ฉันจะหาได้อย่างไรเมื่อบรรทัดที่มีอยู่ในการคอมมิชชันก่อนหน้านี้ถูกลบในที่สุด ฉันกำลังคิดbisectแต่ฉันหวังว่าจะมีบางสิ่งที่ดีกว่า (ก่อนที่คุณจะถาม: ในกรณีนี้ฉันเพิ่งทำgit log -pและค้นหารหัสบรรทัดและ (a) คนบ้าบางคนเพิ่งลบบรรทัดสำคัญในการส่งก่อนหน้าและ (b) ฉันเป็นคนงี่เง่านั้น)
506 git 


12
ฟังก์ชั่น "คงที่" ใน C คืออะไร?
คำถามเกี่ยวกับธรรมดา ค ฟังก์ชั่นไม่ C ++ static วิธีการดังที่อธิบายไว้ในความคิดเห็น ฉันเข้าใจว่าstaticตัวแปรคืออะไร แต่staticฟังก์ชั่นคืออะไร? และทำไมถ้าฉันประกาศฟังก์ชั่นสมมุติvoid print_matrixว่าa.c(โดยไม่มีa.h) และรวม"a.c"- ฉันจะได้รับ"print_matrix@@....) already defined in a.obj"แต่ถ้าฉันประกาศเมื่อstatic void print_matrixมันรวบรวมมัน? อัปเดตเพียงเพื่อล้างสิ่งต่าง ๆ - ฉันรู้ว่าการรวมกัน.cนั้นไม่ดีเท่าที่คุณหลายคนชี้ให้เห็น ฉันเพียงแค่ทำมันไปยังพื้นที่ที่ชัดเจนชั่วคราวmain.cจนกว่าฉันจะมีความคิดที่ดีของวิธีการทุกกลุ่มฟังก์ชั่นที่เป็นที่เหมาะสม.hและ.cไฟล์ เป็นการแก้ปัญหาชั่วคราวที่รวดเร็ว

30
การไม่บล็อกการอ่านบน subprocess.PIPE ใน python
ฉันใช้โมดูลย่อยเพื่อเริ่มกระบวนการย่อยและเชื่อมต่อกับเอาต์พุตสตรีม (stdout) ฉันต้องการที่จะรันการอ่านที่ไม่บล็อกบน stdout มีวิธีที่จะทำให้. non-block หรือตรวจสอบว่ามีข้อมูลในสตรีมก่อนที่ฉันจะเรียกใช้.readlineหรือไม่ ฉันต้องการให้อุปกรณ์พกพาหรืออย่างน้อยต้องทำงานภายใต้ Windows และ Linux นี่คือวิธีที่ฉันทำตอนนี้ (มันปิดกั้น.readlineหากไม่มีข้อมูล): p = subprocess.Popen('myprogram.exe', stdout = subprocess.PIPE) output_str = p.stdout.readline()

12
ฉันจะทำให้ Eclipse แสดงไฟล์. * ได้อย่างไร?
โดยค่าเริ่มต้น Eclipse จะไม่แสดงไฟล์. htaccess ของฉันที่ฉันเก็บไว้ในโครงการของฉัน มันเพิ่งแสดงโฟลเดอร์ว่างในทรีแพ็กเกจวิวเวอร์ ฉันจะทำให้มันปรากฏได้อย่างไร ไม่มีการตั้งค่าที่ชัดเจน
505 eclipse  file  hidden 

30
การดีบัก / โหลด Visual Studio ช้ามาก
ฉันอยู่ที่ปลายปัญญา Visual Studio มักจะช้าในการดีบักหรือโหลดเพียงธรรมดา ("เริ่มต้นโดยไม่มีการดีบัก") ไซต์ ASP.NET MVC ของฉัน ไม่เสมอไป: ในตอนแรกโปรเจ็กต์จะโหลดดีและเร็ว แต่เมื่อโหลดช้าพวกเขาจะโหลดช้าหลังจากนั้น ฉันอาจจะรอ 1-2 นาทีหรือมากกว่านั้น การตั้งค่าของฉัน: ฉันใช้Visual Studio 2012 Expressในปัจจุบัน แต่ฉันมีปัญหาเดียวกันใน Visual Studio 2010 Express เช่นกัน โซลูชันของฉันถูกเก็บไว้ในไดรฟ์เครือข่าย โดยเฉพาะเอกสารของฉันจะถูกเปลี่ยนเส้นทางไปยังไดรฟ์เครือข่ายหากมีความสำคัญ (ไม่ควรมีบางครั้งที่เว็บไซต์ของฉันโหลดเร็วมากภายใต้การตั้งค่านี้) โดยปกติฉันโหลดใน Internet Explorer 9 แต่ปัญหาเดียวกันนี้เกิดขึ้นใน Firefox สิ่งนี้สามารถเกิดขึ้นได้ในโครงการ ASP.NET MVC ใด ๆ ที่ฉันทำงานและดูเหมือนว่าจะหมุนไปรอบ ๆ โดยใช้ DisplayTemplates ซึ่งโครงการ ASP.NET MVC ทั้งหมดของฉันทำ และมันคือ C …

9
เหตุใดขนาดของ (x ++) จึงไม่เพิ่มขึ้น x
นี่คือโค้ดที่คอมไพล์ใน windows dev c ++: #include <stdio.h> int main() { int x = 5; printf("%d and ", sizeof(x++)); // note 1 printf("%d\n", x); // note 2 return 0; } ผมคาดว่าxจะเป็น 6 หลังจากรัน1 ข้อความ อย่างไรก็ตามผลลัพธ์คือ: 4 and 5 ทุกคนสามารถอธิบายได้ว่าทำไมxไม่ได้เพิ่มขึ้นหลังจากที่ทราบ 1 ?
505 c  sizeof 


16
จะเพิ่มไฟล์ใน Node ได้อย่างไร?
ฉันพยายามที่จะผนวกสตริงลงในไฟล์บันทึก อย่างไรก็ตาม writeFile จะลบเนื้อหาในแต่ละครั้งก่อนที่จะเขียนสตริง fs.writeFile('log.txt', 'Hello Node', function (err) { if (err) throw err; console.log('It\'s saved!'); }); // => message.txt erased, contains only 'Hello Node' มีความคิดวิธีการทำเช่นนี้วิธีที่ง่าย?
505 node.js 

12
ฟังก์ชัน Transpose / Unzip (ตรงกันข้ามของ zip)
ฉันมีรายการ tuples 2 รายการและฉันต้องการแปลงเป็น 2 รายการโดยที่รายการแรกมีรายการแรกในแต่ละ tuple และรายการที่สองถือรายการที่สอง ตัวอย่างเช่น: original = [('a', 1), ('b', 2), ('c', 3), ('d', 4)] # and I want to become... result = (['a', 'b', 'c', 'd'], [1, 2, 3, 4]) มีฟังก์ชั่นบิวอินที่ทำเช่นนั้น?
505 python  list  matrix  transpose 

13
ลบอักขระตัวแรกของสตริงใน Javascript
ฉันต้องการลบอักขระตัวแรกของสตริงถ้าอักขระตัวแรกคือ 0 0 สามารถมีได้มากกว่าหนึ่งครั้ง มีฟังก์ชั่นง่าย ๆ ที่ตรวจสอบตัวอักษรตัวแรกและลบมันถ้าเป็น 0 หรือไม่? ตอนนี้ฉันลองใช้slice()งานฟังก์ชั่นJS แต่มันค่อนข้างอึดอัดมาก
505 javascript  string 

6
Javascript นี้ "ต้อง" คืออะไร?
ฉันพยายามทำให้ Javascript อ่าน / เขียนไปยังฐานข้อมูล PostgreSQL ฉันพบโครงการนี้ใน GitHub ฉันสามารถรับโค้ดตัวอย่างต่อไปนี้เพื่อทำงานในโหนด var pg = require('pg'); //native libpq bindings = `var pg = require('pg').native` var conString = "tcp://postgres:1234@localhost/postgres"; var client = new pg.Client(conString); client.connect(); //queries are queued and executed one after another once the connection becomes available client.query("CREATE TEMP TABLE beatles(name varchar(10), height …

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