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

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


12
Facebook จะปิดการใช้งานเครื่องมือสำหรับนักพัฒนาที่ผสานรวมของเบราว์เซอร์อย่างไร
เห็นได้ชัดว่าเนื่องจากการหลอกลวงเมื่อเร็ว ๆ นี้เครื่องมือของนักพัฒนาซอฟต์แวร์ถูกใช้โดยผู้คนเพื่อโพสต์สแปมและแม้แต่เคยใช้กับบัญชี "แฮ็ค" Facebook บล็อกเครื่องมือของนักพัฒนาซอฟต์แวร์และฉันไม่สามารถใช้คอนโซลได้ พวกเขาทำอย่างนั้นได้อย่างไร ?? โพสต์ Stack Overflow หนึ่งโพสต์อ้างว่าเป็นไปไม่ได้แต่ Facebook พิสูจน์แล้วว่าพวกเขาทำผิด เพียงไปที่ Facebook และเปิดเครื่องมือสำหรับนักพัฒนาพิมพ์อักขระหนึ่งตัวลงในคอนโซลและคำเตือนนี้จะปรากฏขึ้น ไม่ว่าคุณจะใส่อะไรเข้าไปก็จะไม่ถูกประหารชีวิต เป็นไปได้อย่างไร? พวกเขายังบล็อกการทำให้สมบูรณ์อัตโนมัติในคอนโซล:

4
มีเหตุผลสำหรับการใช้ตัวแปร C # ซ้ำใน foreach หรือไม่?
เมื่อใช้แลมบ์ดานิพจน์หรือวิธีที่ไม่ระบุตัวตนใน C # เราต้องระวังการเข้าถึงหลุมพรางปิดที่มีการแก้ไข ตัวอย่างเช่น: foreach (var s in strings) { query = query.Where(i => i.Prop == s); // access to modified closure ... } เนื่องจากการปิดการปรับเปลี่ยนรหัสดังกล่าวข้างต้นจะทำให้ทั้งหมดของคำสั่งในการค้นหาให้เป็นไปตามค่าสุดท้ายของWheres ดังที่อธิบายไว้ที่นี่สิ่งนี้เกิดขึ้นเพราะsตัวแปรที่ประกาศในforeachลูปด้านบนถูกแปลเช่นนี้ในคอมไพเลอร์: string s; while (enumerator.MoveNext()) { s = enumerator.Current; ... } แทนที่จะเป็นเช่นนี้: while (enumerator.MoveNext()) { string s; s = enumerator.Current; ... } ดังที่กล่าวไว้ที่นี่ไม่มีข้อได้เปรียบด้านประสิทธิภาพในการประกาศตัวแปรภายนอกลูปและภายใต้สถานการณ์ปกติเหตุผลเดียวที่ฉันคิดได้สำหรับการทำเช่นนี้คือถ้าคุณวางแผนที่จะใช้ตัวแปรนอกขอบเขตของลูป: string …


23
เหตุการณ์ที่มีผลผูกพันกับองค์ประกอบที่สร้างขึ้นแบบไดนามิก?
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันมีบิตของรหัสที่ฉันกำลังบ่วงผ่านทุกช่องเลือกบนหน้าเว็บและผูกพัน.hoverเหตุการณ์ที่พวกเขาทำบิตของ twiddling mouse on/offที่มีความกว้างของพวกเขาใน สิ่งนี้เกิดขึ้นในหน้าพร้อมและใช้งานได้ดี ปัญหาที่ฉันมีคือกล่องที่ฉันเลือกผ่าน Ajax หรือ DOM หลังจากวนลูปเริ่มต้นจะไม่มีเหตุการณ์ผูกไว้ ฉันได้พบปลั๊กอินนี้ ( jQuery Live Query Plugin ) แต่ก่อนที่ฉันจะเพิ่มอีก 5k ลงในหน้าของฉันด้วยปลั๊กอินฉันต้องการดูว่าใครรู้วิธีการทำเช่นนี้กับ jQuery โดยตรงหรือโดยตัวเลือกอื่น

21
ฉันจะติดตั้ง pip บน macOS หรือ OS X ได้อย่างไร
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันใช้เวลาเกือบทั้งวันเมื่อวานนี้เพื่อค้นหาคำตอบที่ชัดเจนสำหรับการติดตั้งpip(ผู้จัดการแพ็คเกจสำหรับ Python) ฉันไม่สามารถหาทางออกที่ดี ฉันจะติดตั้งได้อย่างไร
1676 python  macos  pip  install 

14
ฉันจะตั้งค่าตัวแปรเป็นผลลัพธ์ของคำสั่งใน Bash ได้อย่างไร
ฉันมีสคริปต์ที่ค่อนข้างง่ายและมีลักษณะดังนี้: #!/bin/bash VAR1="$1" MOREF='sudo run command against $VAR1 | grep name | cut -c7-' echo $MOREF เมื่อฉันเรียกใช้สคริปต์นี้จากบรรทัดคำสั่งและส่งผ่านข้อโต้แย้งฉันไม่ได้รับผลลัพธ์ใด ๆ อย่างไรก็ตามเมื่อฉันรันคำสั่งที่มีอยู่ภายใน$MOREFตัวแปรฉันสามารถรับเอาต์พุตได้ เราจะนำผลลัพธ์ของคำสั่งที่จำเป็นต้องใช้ในสคริปต์บันทึกไปยังตัวแปรแล้วส่งออกตัวแปรนั้นบนหน้าจอได้อย่างไร
1676 bash  shell  command-line 

30
จะหลีกเลี่ยงรหัส Java ในไฟล์ JSP ได้อย่างไร
ฉันใหม่กับ Java EE และฉันรู้ว่ามีบางอย่างเหมือนสามบรรทัดต่อไปนี้ <%= x+1 %> <%= request.getParameter("name") %> <%! counter++; %> เป็นวิธีการเข้ารหัสโรงเรียนเก่าและใน JSP เวอร์ชัน 2 มีวิธีการหลีกเลี่ยงรหัส Java ในไฟล์ JSP มีใครช่วยบอกฉันเกี่ยวกับทางเลือก JSP 2 บรรทัดและเทคนิคนี้เรียกว่าอะไร?
1673 java  jsp  scriptlet 

5
คืออะไร ":-!!" ในรหัส C?
ฉันชนรหัสมาโครแปลก ๆ นี้ใน/usr/include/linux/kernel.h : /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used e.g. in a structure initializer (or where-ever else comma expressions aren't permitted). */ #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) #define …
1665 c  linux  macros  linux-kernel 

30
ฉันจะอัพเดต NodeJS และ NPM เป็นเวอร์ชันถัดไปได้อย่างไร
ฉันเพิ่งติดตั้งNode.jsและnpm(สำหรับโมดูลเพิ่มเติม) ฉันจะอัพเดต Node.js และโมดูลที่ฉันใช้เป็นเวอร์ชั่นล่าสุดได้อย่างไร สามารถnpmทำได้หรือฉันต้องลบและติดตั้ง Node.js และ npm ใหม่เพื่อรับรุ่นถัดไปหรือไม่ ฉันทำตามขั้นตอนนี้ในnpmส่วน

23
Java รองรับค่าพารามิเตอร์เริ่มต้นหรือไม่
ฉันเจอโค้ด Java บางตัวที่มีโครงสร้างต่อไปนี้: public MyParameterizedFunction(String param1, int param2) { this(param1, param2, false); } public MyParameterizedFunction(String param1, int param2, boolean param3) { //use all three parameters here } ฉันรู้ว่าใน C ++ ฉันสามารถกำหนดพารามิเตอร์เป็นค่าเริ่มต้น ตัวอย่างเช่น: void MyParameterizedFunction(String param1, int param2, bool param3=false); Java รองรับไวยากรณ์ประเภทนี้หรือไม่ มีเหตุผลใดบ้างที่ทำให้ไวยากรณ์สองขั้นตอนนี้เป็นที่ต้องการมากกว่า

24
การประมวลผลภาพ: การปรับปรุงอัลกอริทึมสำหรับการรับรู้ 'Coca-Cola Can'
หนึ่งในโครงการที่น่าสนใจที่สุดที่ผมเคยทำงานอยู่ในคู่ที่ผ่านมาของปีที่ผ่านมาเป็นโครงการเกี่ยวกับการประมวลผลภาพ เป้าหมายคือการพัฒนาระบบเพื่อให้สามารถรู้จัก'กระป๋อง' ของ Coca-Cola (โปรดทราบว่าฉันกำลังเน้นคำว่า 'กระป๋อง' คุณจะเห็นว่าทำไมในหนึ่งนาที) คุณสามารถดูตัวอย่างด้านล่างโดยที่สามารถรู้จักในสี่เหลี่ยมสีเขียวพร้อมสเกลและการหมุน ข้อ จำกัด บางประการเกี่ยวกับโครงการ: พื้นหลังอาจมีเสียงดังมาก สามารถจะมีขนาดหรือหมุนหรือรสนิยมแม้กระทั่ง (ภายในขอบเขตที่เหมาะสม) ภาพอาจมีความเลือนในระดับหนึ่ง (รูปทรงอาจไม่ตรงทั้งหมด) อาจมีขวด Coca-Cola ในภาพและอัลกอริทึมควรตรวจจับความสามารถเท่านั้น! ความสว่างของภาพอาจแตกต่างกันมาก (ดังนั้นคุณไม่สามารถเชื่อถือได้ "มากเกินไป" ในการตรวจจับสี) สามารถจะถูกซ่อนไว้บางส่วนที่ด้านข้างหรือตรงกลางและอาจจะเป็นส่วนหนึ่งที่ซ่อนอยู่เบื้องหลังขวด ในภาพอาจจะไม่สามารถทำได้ซึ่งในกรณีนี้คุณต้องไม่พบอะไรเลยและเขียนข้อความโดยบอกว่าเป็นเช่นนั้น ดังนั้นคุณสามารถจบลงด้วยสิ่งที่ยุ่งยากเช่นนี้ (ซึ่งในกรณีนี้อัลกอริทึมของฉันล้มเหลวโดยสิ้นเชิง): ฉันทำโครงการนี้เมื่อไม่นานมานี้และสนุกกับการทำมันมากและฉันก็มีการนำไปใช้ที่เหมาะสม นี่คือรายละเอียดบางอย่างเกี่ยวกับการใช้งานของฉัน: ภาษา : เสร็จใน C ++ โดยใช้ไลบรารีOpenCV การประมวลผลล่วงหน้า : สำหรับการประมวลผลภาพล่วงหน้าเช่นเปลี่ยนภาพให้อยู่ในรูปแบบดิบมากขึ้นเพื่อมอบให้กับอัลกอริทึมฉันใช้ 2 วิธี: การเปลี่ยนโดเมนสีจาก RGB เป็นHSVและการกรองตามเฉดสี "สีแดง" ความอิ่มตัวของสีเหนือขีด จำกัด ที่กำหนดเพื่อหลีกเลี่ยงสีที่มีลักษณะคล้ายสีส้มและการกรองค่าต่ำเพื่อหลีกเลี่ยงโทนมืด ผลลัพธ์ที่ได้คือภาพขาวดำไบนารีซึ่งพิกเซลสีขาวทั้งหมดจะเป็นตัวแทนของพิกเซลที่ตรงกับเกณฑ์นี้ เห็นได้ชัดว่ายังมีอึมากในภาพ แต่จะช่วยลดจำนวนมิติที่คุณต้องทำงานด้วย …

9
เหตุใด ++ [[]] [+ []] + [+ []] ส่งคืนสตริง“ 10”
สิ่งนี้ถูกต้องและส่งคืนสตริง"10"ใน JavaScript ( ตัวอย่างเพิ่มเติมที่นี่ ): console.log(++[[]][+[]]+[+[]]) เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล ทำไม? เกิดอะไรขึ้นที่นี่
1657 javascript  syntax 

14
ทำให้สาขา Git ปัจจุบันเป็นสาขาหลัก
ฉันมีที่เก็บใน Git ฉันสร้างสาขาจากนั้นก็ทำการเปลี่ยนแปลงทั้งกับอาจารย์และสาขา จากนั้นหลายสิบข้อผูกมัดในภายหลังฉันตระหนักว่าสาขาอยู่ในสถานะที่ดีกว่าต้นแบบดังนั้นฉันต้องการให้สาขาเป็น "กลายเป็น" เจ้านายและไม่สนใจการเปลี่ยนแปลงในต้นแบบ ฉันไม่สามารถรวมมันได้เพราะฉันไม่ต้องการให้การเปลี่ยนแปลงกับต้นแบบ ฉันควรทำอย่างไรดี? พิเศษ : ในกรณีนี้ต้นแบบ 'เก่า' ได้ถูกนำpushไปใช้กับที่เก็บอื่นแล้วเช่น GitHub สิ่งนี้เปลี่ยนแปลงได้อย่างไร
1657 git 

19
การใช้อินเตอร์เฟส IDisposable อย่างเหมาะสม
ฉันรู้จากการอ่านเอกสารของ Microsoftว่าการใช้IDisposableอินเทอร์เฟซหลักคือการล้างทรัพยากรที่ไม่มีการจัดการ สำหรับฉัน "ไม่มีการจัดการ" หมายถึงสิ่งต่าง ๆ เช่นการเชื่อมต่อฐานข้อมูลซ็อกเก็ตที่จับหน้าต่าง ฯลฯ แต่ฉันเห็นรหัสที่ใช้Dispose()วิธีการกับทรัพยากรที่มีการจัดการฟรีซึ่งดูเหมือนว่าซ้ำซ้อนกับฉันเนื่องจากตัวเก็บขยะควรดูแล สำหรับคุณ ตัวอย่างเช่น: public class MyCollection : IDisposable { private List<String> _theList = new List<String>(); private Dictionary<String, Point> _theDict = new Dictionary<String, Point>(); // Die, clear it up! (free unmanaged resources) public void Dispose() { _theList.clear(); _theDict.clear(); _theList = null; _theDict = …

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