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

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

20
ใช้ async / await กับ forEach loop
มีปัญหากับการใช้async/ awaitในการforEachวนซ้ำหรือไม่? ฉันพยายามวนซ้ำไฟล์ต่าง ๆ และawaitเนื้อหาของแต่ละไฟล์ import fs from 'fs-promise' async function printFiles () { const files = await getFilePaths() // Assume this works fine files.forEach(async (file) => { const contents = await fs.readFile(file, 'utf8') console.log(contents) }) } printFiles() รหัสนี้ใช้งานได้ แต่มีบางอย่างผิดปกติกับสิ่งนี้หรือไม่ ฉันมีใครบางคนบอกฉันว่าคุณไม่ควรใช้async/ awaitในลำดับการทำงานที่สูงขึ้นเช่นนี้ดังนั้นฉันแค่อยากจะถามว่ามันมีปัญหาหรือไม่

30
ซ่อนแถบเลื่อน แต่ในขณะที่ยังคงสามารถเลื่อนได้
ฉันต้องการที่จะเลื่อนดูทั้งหน้า แต่ไม่มีแถบเลื่อนที่แสดง ใน Google Chrome มันคือ: ::-webkit-scrollbar { display: none; } แต่ Mozilla Firefox และ Internet Explorer ดูเหมือนจะไม่ทำงานเช่นนั้น ฉันยังลองใน CSS: overflow: hidden; มันซ่อนแถบเลื่อน แต่ฉันไม่สามารถเลื่อนได้อีก มีวิธีที่ฉันสามารถลบแถบเลื่อนในขณะที่ยังสามารถเลื่อนหน้าทั้งหมดได้หรือไม่? ด้วย CSS หรือ HTML

29
jQuery รับตัวเลือกที่เลือกจากดรอปดาวน์
ฉันมักจะใช้$("#id").val()เพื่อส่งกลับค่าของตัวเลือกที่เลือก แต่คราวนี้มันไม่ทำงาน แท็กที่เลือกมี IDaioConceptName รหัส html <label>Name</label> <input type="text" name="name" /> <select id="aioConceptName"> <option>choose io</option> <option>roma</option> <option>totti</option> </select>
1127 javascript  jquery  html 

8
เหตุใดจึงต้องใช้ Redux บน Facebook Flux [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ปิดเมื่อปีที่แล้ว ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันได้อ่านคำตอบนี้ , ลดสำเร็จรูปมองที่ GitHub ตัวอย่างไม่กี่และแม้กระทั่งพยายาม Redux นิด ๆ หน่อย ๆ (ปพลิเคชันที่ต้องทำ) ดังที่ฉันเข้าใจแรงจูงใจ doc redux ทางการให้ข้อดีเมื่อเปรียบเทียบกับสถาปัตยกรรม MVC แบบดั้งเดิม แต่มันไม่ได้ให้คำตอบสำหรับคำถาม: ทำไมคุณควรใช้ Redux บน Facebook Flux นั่นเป็นเพียงคำถามของสไตล์การเขียนโปรแกรม: functional vs non-functional หรือไม่? หรือคำถามอยู่ในความสามารถ / เครื่องมือ dev ที่ตามมาจากวิธีการ redux? อาจจะปรับขนาด? หรือทดสอบ? ฉันพูดถูกหรือไม่ถ้าฉันบอกว่า redux เป็นฟลักซ์สำหรับผู้ที่มาจากภาษาที่ใช้งานได้ เพื่อตอบคำถามนี้คุณอาจเปรียบเทียบความซับซ้อนของการใช้คะแนนแรงจูงใจของ redux กับ …

30
ทางลัดที่ให้ผลดีที่สุดกับ Vim ของคุณคืออะไร?
ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันเคยได้ยินเรื่องเกี่ยวกับVim มามากทั้งข้อดีและข้อเสีย ดูเหมือนว่าคุณควรเร็วกว่า Vim มากกว่าบรรณาธิการคนอื่น ๆ ฉันใช้ Vim เพื่อทำสิ่งพื้นฐานบางอย่างและฉันทำได้ดีที่สุดน้อยกว่า Vim ถึง 10 เท่า สองสิ่งเดียวที่คุณควรใส่ใจเมื่อคุณพูดถึงความเร็ว (คุณอาจไม่สนใจพวกเขามากพอ แต่คุณควร) คือ: การใช้มือซ้ายหรือขวาเป็นวิธีที่เร็วที่สุดในการใช้แป้นพิมพ์ ไม่เคยแตะเมาส์เป็นวิธีที่สองเพื่อให้เร็วที่สุดเท่าที่จะทำได้ ใช้เวลานานสำหรับคุณในการขยับมือคว้าเมาส์เคลื่อนย้ายแล้วนำกลับไปที่แป้นพิมพ์ (และคุณมักจะต้องดูที่แป้นพิมพ์เพื่อให้แน่ใจว่าคุณกลับมืออย่างถูกต้อง) นี่คือตัวอย่างสองตัวอย่างที่แสดงให้เห็นว่าทำไมฉันถึงมีประสิทธิผลน้อยกว่าด้วย Vim คัดลอก / ตัดและวาง ฉันทำมันตลอดเวลา ด้วยเครื่องมือแก้ไขร่วมสมัยทั้งหมดที่คุณกดShift ด้วยมือซ้ายและคุณเลื่อนเคอร์เซอร์ด้วยมือขวาเพื่อเลือกข้อความ จากนั้นคัดลอกCtrl+ Cคุณย้ายเคอร์เซอร์และCtrl+ Vวาง ด้วยเสียงเรียกเข้ามันน่ากลัว: yy เพื่อคัดลอกหนึ่งบรรทัด (คุณแทบจะไม่ต้องการทั้งบรรทัดเลย!) [number xx]yyเพื่อคัดลอกxxบรรทัดลงในบัฟเฟอร์ แต่คุณไม่มีทางรู้แน่ถ้าคุณเลือกสิ่งที่คุณต้องการ ผมมักจะต้องทำ[number xx]ddแล้วuจะเลิก! ตัวอย่างอื่น? ค้นหาและแทนที่ ในPSPad : Ctrl+ …
1126 vim  vi 

6
ฉันต้องใส่คำหลัก“ เทมเพลต” และ“ พิมพ์ชื่อ” ที่ไหนและทำไม
ในแม่ที่และทำไมฉันต้องใส่typenameและtemplateรายชื่อขึ้นอยู่? ชื่อที่ขึ้นต่อกันคืออะไรกันแน่? ฉันมีรหัสต่อไปนี้: template <typename T, typename Tail> // Tail will be a UnionNode too. struct UnionNode : public Tail { // ... template<typename U> struct inUnion { // Q: where to add typename/template here? typedef Tail::inUnion<U> dummy; }; template< > struct inUnion<T> { }; }; template <typename T> // …

17
ฉันจะฆ่าเชื้ออินพุตของผู้ใช้ด้วย PHP ได้อย่างไร
มีฟังก์ชั่น catchall บางแห่งที่ทำงานได้ดีสำหรับฆ่าเชื้ออินพุตของผู้ใช้สำหรับการฉีด SQL และการโจมตี XSS ในขณะที่ยังอนุญาตแท็ก HTML บางประเภทอยู่?

14
ฉันจะเขียนข้อมูล JSON ไปยังไฟล์ได้อย่างไร
ฉันมี JSON dataข้อมูลเก็บไว้ในตัวแปร ฉันต้องการเขียนสิ่งนี้ลงในไฟล์ข้อความเพื่อทำการทดสอบดังนั้นฉันไม่จำเป็นต้องหยิบข้อมูลจากเซิร์ฟเวอร์ในแต่ละครั้ง ขณะนี้ฉันลองทำสิ่งนี้: obj = open('data.txt', 'wb') obj.write(data) obj.close และฉันได้รับข้อผิดพลาดนี้: TypeError: ต้องเป็นสตริงหรือบัฟเฟอร์ไม่ใช่ dict จะแก้ไขได้อย่างไร?
1122 python  json 

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

14
วิธีที่ดีที่สุดในการรับข้อมูลประจำตัวของแถวที่แทรก?
วิธีที่ดีที่สุดในการIDENTITYแทรกแถวคืออะไร ฉันรู้เกี่ยวกับ@@IDENTITYและIDENT_CURRENTและSCOPE_IDENTITYแต่ไม่เข้าใจข้อดีข้อเสียของแต่ละข้อ ใครช่วยอธิบายความแตกต่างได้และเมื่อใดควรใช้แต่ละข้อ
1119 sql  sql-server  tsql 

11
ดัชนีแบบคลัสเตอร์และไม่ใช่แบบคลัสเตอร์หมายถึงอะไรจริง ๆ
ฉันมีฐานข้อมูลที่ จำกัด กับ DB และใช้ DB เป็นแอปพลิเคชันโปรแกรมเมอร์เท่านั้น ผมอยากจะทราบเกี่ยวกับและClustered Non clustered indexesฉัน googled และสิ่งที่ฉันพบคือ: ดัชนีคลัสเตอร์เป็นดัชนีชนิดพิเศษที่เรียงลำดับวิธีการบันทึกในตารางที่จัดเก็บทางกายภาพ ดังนั้นตารางสามารถมีดัชนีคลัสเตอร์เดียวเท่านั้น โหนดใบไม้ของดัชนีคลัสเตอร์มีหน้าข้อมูล ดัชนี nonclustered เป็นดัชนีชนิดพิเศษที่ลำดับลอจิคัลของดัชนีไม่ตรงกับลำดับทางกายภาพที่เก็บไว้ของแถวบนดิสก์ โหนดลีฟของดัชนีที่ไม่ได้คลัสเตอร์จะไม่ประกอบด้วยหน้าข้อมูล โหนดใบไม้จะมีแถวดัชนีแทน สิ่งที่ฉันพบใน SO คืออะไรความแตกต่างระหว่างดัชนีแบบคลัสเตอร์และแบบไม่รวมกลุ่มคืออะไร . มีคนอธิบายเรื่องนี้เป็นภาษาอังกฤษธรรมดาได้ไหม

14
echo ที่ส่งออกไปยัง stderr
มีเครื่องมือทุบตีมาตรฐานที่ทำหน้าที่เหมือนเสียงสะท้อน แต่ส่งออกไปยัง stderr แทนที่จะเป็น stdout หรือไม่? ฉันรู้ว่าฉันสามารถทำได้echo foo 1>&2แต่มันก็น่าเกลียดและฉันสงสัยว่ามีแนวโน้มผิดพลาด (เช่นมีแนวโน้มที่จะได้รับการแก้ไขผิดเมื่อสิ่งต่าง ๆ เปลี่ยนแปลง)
1115 bash 

30
ใช้ Python เวอร์ชั่นอื่นกับ virtualenv
ฉันมีระบบ Debian ที่ใช้กับ python 2.5.4 อยู่ในขณะนี้ ฉันได้ติดตั้ง virtualenv อย่างถูกต้องทุกอย่างทำงานได้ดี มีความเป็นไปได้ไหมที่ฉันจะสามารถใช้ virtualenv กับ Python เวอร์ชั่นอื่นได้หรือไม่? ฉันรวบรวม Python 2.6.2 และต้องการใช้กับ virtualenv บางตัว มันเพียงพอที่จะเขียนทับไฟล์ไบนารีหรือไม่? หรือฉันต้องเปลี่ยนอะไรบางอย่างเกี่ยวกับห้องสมุด?

6
ส่วนหัว HTTP ที่กำหนดเอง: แบบแผนการตั้งชื่อ
ผู้ใช้ของเราหลายคนขอให้เรารวมข้อมูลที่เกี่ยวข้องกับบัญชีของพวกเขาในส่วนหัว HTTPของคำขอที่เราส่งพวกเขาหรือแม้กระทั่งการตอบสนองที่พวกเขาได้รับจาก API ของเรา คือการประชุมทั่วไปเพื่อเพิ่มสิ่งที่กำหนดเองส่วนหัว HTTP ในแง่ของการตั้งชื่อ , รูปแบบ ... ฯลฯ นอกจากนี้อย่าลังเลที่จะโพสต์การใช้งานอย่างชาญฉลาดของสิ่งเหล่านี้ที่คุณสะดุดบนเว็บ เรากำลังพยายามที่จะใช้สิ่งนี้โดยใช้สิ่งที่ดีที่สุดในเป้าหมาย :)
1114 http  http-headers 


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