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

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

1
SO_REUSEADDR และ SO_REUSEPORT แตกต่างกันอย่างไร
man pagesและเอกสารโปรแกรมเมอร์หาตัวเลือกซ็อกเก็ตSO_REUSEADDRและSO_REUSEPORTมีความแตกต่างกันสำหรับระบบปฏิบัติการที่แตกต่างกันและมักจะทำให้เกิดความสับสนอย่างมาก SO_REUSEPORTบางระบบปฏิบัติการไม่ได้มีตัวเลือก เว็บเต็มไปด้วยข้อมูลที่ขัดแย้งกันเกี่ยวกับเรื่องนี้และบ่อยครั้งที่คุณสามารถค้นหาข้อมูลที่เป็นจริงสำหรับการใช้งานซ็อกเก็ตเดียวของระบบปฏิบัติการเฉพาะซึ่งอาจไม่ได้กล่าวถึงอย่างชัดเจนในข้อความ แล้วSO_REUSEADDRแตกต่างกันSO_REUSEPORTอย่างไร ระบบที่ไม่มีSO_REUSEPORTข้อ จำกัด มากขึ้น? และสิ่งที่เป็นพฤติกรรมที่คาดหวังถ้าฉันใช้อย่างใดอย่างหนึ่งในระบบปฏิบัติการที่แตกต่างกัน?

29
ฉันสามารถตั้งค่าความยาวไม่ จำกัด สำหรับ maxJsonLength ใน web.config ได้หรือไม่
ฉันกำลังใช้คุณสมบัติการเติมข้อความอัตโนมัติของ jQuery เมื่อฉันพยายามเรียกดูรายการมากกว่า 17,000 รายการ (แต่ละรายการจะมีความยาวไม่เกิน 10 ถ่าน) มันยาวเกินความเป็นจริงและเกิดข้อผิดพลาด: ข้อมูลข้อยกเว้น: ประเภทข้อยกเว้น: InvalidOperationException ข้อความข้อยกเว้น: ข้อผิดพลาดระหว่างการทำให้เป็นอนุกรมหรือการดีซีเรียลไลเซชันโดยใช้ JSON JavaScriptSerializer ความยาวของสตริงเกินกว่าค่าที่ตั้งไว้ในคุณสมบัติ maxJsonLength ฉันสามารถตั้งค่าความยาวได้ไม่ จำกัดmaxJsonLengthในweb.configหรือไม่ ถ้าไม่ความยาวสูงสุดที่ฉันสามารถตั้งได้คือเท่าไหร่

26
รูปแบบของตัวออกแบบการสร้างและรูปแบบการออกแบบจากโรงงานแตกต่างกันอย่างไร
รูปแบบการออกแบบของ Builder และรูปแบบการออกแบบของโรงงานแตกต่างกันอย่างไร ข้อใดที่ได้เปรียบกว่าและทำไม ฉันจะแสดงสิ่งที่ค้นพบของฉันเป็นกราฟได้อย่างไรหากฉันต้องการทดสอบและเปรียบเทียบ / เปรียบต่างรูปแบบเหล่านี้


30
ตัวคั่นการแทรก iOS 8 UITableView 0 ไม่ทำงาน
ฉันมี app ที่ที่UITableView's แทรกคั่นถูกตั้งค่าเป็นค่าที่กำหนดเอง - ขวา0, 0ซ้าย นี้ทำงานได้อย่างสมบูรณ์ในiOS 7.xแต่iOS 8.0ฉันเห็นว่าตัวคั่นสิ่งที่ถูกตั้งค่าเริ่มต้นของ15บนด้านขวา แม้ว่าในไฟล์ xib ที่ตั้งค่าไว้0แต่ก็ยังแสดงไม่ถูกต้อง ฉันจะลบUITableViewCellระยะขอบคั่นได้อย่างไร

16
ฉันจะส่งการแก้ไขที่คอมมิตไปยังที่เก็บ Git ระยะไกลได้อย่างไร?
เมื่อฉันทำงานเล็กน้อยกับซอร์สโค้ดของฉันฉันทำสิ่งปกติของฉันกระทำแล้วฉันผลักไปที่พื้นที่เก็บข้อมูลระยะไกล แต่แล้วฉันสังเกตเห็นว่าฉันลืมจัดระเบียบการนำเข้าของฉันในซอร์สโค้ด ดังนั้นฉันจะแก้ไขคำสั่งเพื่อแทนที่กระทำก่อนหน้านี้: > git commit --amend น่าเสียดายที่ความมุ่งมั่นไม่สามารถผลักดันกลับไปที่ที่เก็บ มันถูกปฏิเสธเช่นนี้: > git push origin To //my.remote.repo.com/stuff.git/ ! [rejected] master -> master (non-fast forward) error: failed to push some refs to '//my.remote.repo.com/stuff.git/' ฉันควรทำอย่างไรดี? (ฉันสามารถเข้าถึงที่เก็บข้อมูลระยะไกลได้)
662 git  git-commit  amend 

14
ตรวจสอบว่ามีตารางชั่วคราวและลบหากมีอยู่ก่อนสร้างตารางชั่วคราว
ฉันใช้รหัสต่อไปนี้เพื่อตรวจสอบว่ามีตารางชั่วคราวอยู่หรือไม่และวางตารางหากมีอยู่ก่อนสร้างอีกครั้ง มันทำงานได้ดีตราบใดที่ฉันไม่เปลี่ยนคอลัมน์ หากฉันเพิ่มคอลัมน์ในภายหลังมันจะให้ข้อผิดพลาดว่า "คอลัมน์ไม่ถูกต้อง" โปรดแจ้งให้เราทราบว่าฉันทำอะไรผิด IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results CREATE TABLE #Results ( Company CHAR(3), StepId TINYINT, FieldId TINYINT, ) select company, stepid, fieldid from #Results --Works fine to this point IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results CREATE TABLE #Results ( Company CHAR(3), StepId …



7
PDO มีการจัดทำงบที่เพียงพอเพื่อป้องกันการฉีด SQL หรือไม่?
สมมติว่าฉันมีรหัสเช่นนี้: $dbh = new PDO("blahblah"); $stmt = $dbh->prepare('SELECT * FROM users where username = :username'); $stmt->execute( array(':username' => $_REQUEST['username']) ); เอกสาร PDO พูดว่า: ไม่จำเป็นต้องอ้างพารามิเตอร์ของคำสั่งที่เตรียมไว้ คนขับจัดการกับมันให้คุณ นั่นคือทั้งหมดที่ฉันต้องทำเพื่อหลีกเลี่ยงการฉีด SQL? มันง่ายจริงๆเหรอ? คุณสามารถสมมติว่า MySQL ถ้ามันสร้างความแตกต่าง นอกจากนี้ฉันแค่อยากรู้เกี่ยวกับการใช้งบเตรียมกับการฉีด SQL ในบริบทนี้ฉันไม่สนใจ XSS หรือช่องโหว่อื่น ๆ

9
ฉันจะปิดรีสตาร์ทหรือออกจากระบบ Windows ผ่านไฟล์ bat ได้อย่างไร
Наэтотвопросестьответына กองมากเกินнарусском : Какзакрыть, перезагрузитьизавершитьсеансของ Windows спомощьюค้างคาวфайла? ฉันใช้การเชื่อมต่อเดสก์ท็อประยะไกลเพื่อเชื่อมต่อกับเวิร์กสเตชัน แต่ในสภาพแวดล้อมนี้ฉันไม่สามารถใช้ตัวเลือกพลังงานในเมนูเริ่ม ฉันต้องการวิธีอื่นในการปิดหรือรีสตาร์ท ฉันจะควบคุมสถานะพลังงานของคอมพิวเตอร์ผ่านทางบรรทัดคำสั่งได้อย่างไร

17
open () ใน Python ไม่ได้สร้างไฟล์หากไม่มีอยู่
เป็นวิธีที่ดีที่สุดในการเปิดไฟล์เป็นอ่าน / เขียนถ้ามันมีอยู่หรือถ้ามันไม่ได้แล้วสร้างมันขึ้นมาและเปิดเป็นอ่าน / เขียน? จากสิ่งที่ฉันอ่านfile = open('myfile.dat', 'rw')ควรทำสิ่งนี้ใช่ไหม มันไม่ทำงานสำหรับฉัน (Python 2.6.2) และฉันสงสัยว่ามันเป็นปัญหาของรุ่นหรือไม่ควรทำงานเช่นนั้นหรืออะไร บรรทัดล่างคือฉันแค่ต้องการทางออกสำหรับปัญหา ฉันอยากรู้เกี่ยวกับสิ่งอื่น ๆ แต่ทั้งหมดที่ฉันต้องการคือวิธีที่ดีในการทำส่วนเปิด ไดเรกทอรีที่ปิดล้อมนั้นเขียนได้โดยผู้ใช้และกลุ่มไม่ใช่คนอื่น (ฉันอยู่ในระบบ Linux ... ดังนั้นสิทธิ์ 775 กล่าวอีกนัยหนึ่ง) และข้อผิดพลาดที่แน่นอนคือ: IOError: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

7
รุ่นเทียบกับการสร้างใน Xcode
ฉันมีแอพที่ฉันพัฒนาด้วย Xcode 3 และเพิ่งเริ่มแก้ไขด้วย Xcode 4 ในสรุปเป้าหมายฉันมีแบบฟอร์มเป้าหมายแอปพลิเคชัน iOS ที่มีฟิลด์: ตัวระบุรุ่นสร้างอุปกรณ์และเป้าหมายการปรับใช้ ฟิลด์เวอร์ชั่นว่างเปล่าและฟิลด์บิลด์เป็น 3.4.0 (ซึ่งตรงกับเวอร์ชั่นของแอพตั้งแต่ตอนที่ฉันยังแก้ไขด้วย Xcode 3) คำถามของฉันคือ: ความแตกต่างระหว่างรุ่นและเขตข้อมูลสร้างคืออะไร? ทำไมฟิลด์รุ่นว่างเปล่าหลังจากฉันอัพเกรดเป็น Xcode 4
660 ios  xcode 


23
@selector () ใน Swift หรือไม่
ฉันพยายามที่จะสร้างNSTimerในSwiftแต่ฉันมีปัญหาบางอย่าง NSTimer(timeInterval: 1, target: self, selector: test(), userInfo: nil, repeats: true) test() เป็นฟังก์ชั่นในชั้นเดียวกัน ฉันพบข้อผิดพลาดในเครื่องมือแก้ไข: ไม่พบโอเวอร์โหลดสำหรับ 'init' ที่ยอมรับอาร์กิวเมนต์ที่ให้มา เมื่อฉันเปลี่ยนselector: test()ไปselector: nilหายไปข้อผิดพลาด ฉันได้พยายาม: selector: test() selector: test selector: Selector(test()) แต่ไม่มีอะไรทำงานและฉันไม่สามารถหาวิธีแก้ปัญหาในการอ้างอิง
659 swift  selector  nstimer 

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