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

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

21
ฉันสามารถผูกอาร์เรย์กับเงื่อนไข IN () ได้หรือไม่
ฉันอยากรู้ว่าเป็นไปได้ไหมที่จะผูกค่ากับตัวยึดตำแหน่งโดยใช้ PDO กรณีการใช้งานที่นี่กำลังพยายามส่งผ่านอาร์เรย์ของค่าเพื่อใช้กับIN()เงื่อนไข ฉันต้องการทำสิ่งนี้: <?php $ids=array(1,2,3,7,8,9); $db = new PDO(...); $stmt = $db->prepare( 'SELECT * FROM table WHERE id IN(:an_array)' ); $stmt->bindParam('an_array',$ids); $stmt->execute(); ?> และมี PDO ผูกและอ้างอิงค่าทั้งหมดในอาร์เรย์ ในขณะที่ฉันทำ: <?php $ids = array(1,2,3,7,8,9); $db = new PDO(...); foreach($ids as &$val) $val=$db->quote($val); //iterate through array and quote $in = implode(',',$ids); //create comma …

15
ความแตกต่างระหว่างการส่งต่อโดยอ้างอิงกับการผ่านตามมูลค่าคืออะไร
อะไรคือความแตกต่างระหว่าง พารามิเตอร์ที่ส่งผ่านโดยการอ้างอิง พารามิเตอร์ผ่านค่าหรือไม่ กรุณายกตัวอย่างให้ฉันหน่อยได้ไหม

14
วิธีการตรวจสอบว่าชนิดที่ใช้อินเทอร์เฟซกับ C # สะท้อน
ไม่สะท้อนในC#ทางที่เป็นข้อเสนอเพื่อตรวจสอบว่าได้รับบางSystem.Typeรุ่นประเภทอินเตอร์เฟซบางอย่าง? public interface IMyInterface {} public class MyType : IMyInterface {} // should yield 'true' typeof(MyType)./* ????? */MODELS_INTERFACE(IMyInterface);
562 c#  reflection  interface 

12
JavaScript ปิดกับฟังก์ชั่นที่ไม่ระบุชื่อ
เพื่อนของฉันและฉันกำลังพูดถึงสิ่งที่ปิดใน JS และสิ่งที่ไม่ เราแค่ต้องการให้แน่ใจว่าเราเข้าใจมันอย่างถูกต้อง ลองดูตัวอย่างนี้ เรามีการนับลูปและต้องการพิมพ์ตัวแปรตัวนับบนคอนโซลล่าช้า ดังนั้นเราจึงใช้setTimeoutและปิดเพื่อจับค่าของตัวแปรตัวนับเพื่อให้แน่ใจว่ามันจะไม่พิมพ์ N คูณค่า N วิธีการแก้ปัญหาที่ผิดโดยไม่ปิดหรืออะไรก็ตามที่ใกล้กับการปิดคือ: for(var i = 0; i < 10; i++) { setTimeout(function() { console.log(i); }, 1000); } ซึ่งแน่นอนว่าจะพิมพ์ค่าของiลูปหลัง10 เท่าคือ 10 ดังนั้นความพยายามของเขาคือ: for(var i = 0; i < 10; i++) { (function(){ var i2 = i; setTimeout(function(){ console.log(i2); }, 1000) })(); } …

30
# 1071 - รหัสที่ระบุยาวเกินไป ความยาวสูงสุดของคีย์คือ 767 ไบต์
เมื่อฉันดำเนินการคำสั่งต่อไปนี้: ALTER TABLE `mytable` ADD UNIQUE ( `column1` , `column2` ); ฉันได้รับข้อความแสดงข้อผิดพลาดนี้: #1071 - Specified key was too long; max key length is 767 bytes ข้อมูลเกี่ยวกับ column1 และ column2: column1 varchar(20) utf8_general_ci column2 varchar(500) utf8_general_ci ฉันคิดว่าvarchar(20)ต้องการเพียง 21 ไบต์ในขณะที่varchar(500)ต้องใช้เพียง 501 ไบต์ ดังนั้นจำนวนไบต์ทั้งหมดคือ 522 น้อยกว่า 767 ดังนั้นทำไมฉันถึงได้รับข้อความแสดงข้อผิดพลาด #1071 - Specified key was …

20
ขอให้ผู้ใช้ป้อนข้อมูลจนกว่าพวกเขาจะให้การตอบสนองที่ถูกต้อง
Наэтотвопросестьответына กองมากเกินнарусском : Каквыполнитьнесколькопровероквведенныхпользователемданных? ฉันกำลังเขียนโปรแกรมที่รับอินพุตจากผู้ใช้ #note: Python 2.7 users should use `raw_input`, the equivalent of 3.X's `input` age = int(input("Please enter your age: ")) if age >= 18: print("You are able to vote in the United States!") else: print("You are not able to vote in the United States.") โปรแกรมทำงานได้ตามที่คาดหวังตราบใดที่ผู้ใช้ป้อนข้อมูลที่มีความหมาย C:\Python\Projects> …

15
ฟิลด์ SQL SELECT WHERE มีคำ
ฉันต้องการตัวเลือกที่จะให้ผลลัพธ์เช่นนี้: SELECT * FROM MyTable WHERE Column1 CONTAINS 'word1 word2 word3' และฉันต้องการผลลัพธ์ทั้งหมดนั่นคือรวมถึงสตริงที่มี 'word2 word3 word1' หรือ 'word1 word3 word2' หรือการรวมกันของทั้งสาม คำทุกคำต้องเป็นผลลัพธ์
562 sql  select 

18
Angular: คลาสที่มีเงื่อนไขพร้อม * ngClass
เกิดอะไรขึ้นกับรหัสแองกูลาร์ของฉัน ฉันได้รับ: Cannot read property 'remove' of undefined at BrowserDomAdapter.removeClass ... HTML <ol class="breadcrumb"> <li *ngClass="{active: step==='step1'}" (click)="step='step1; '">Step1</li> <li *ngClass="{active: step==='step2'}" (click)="step='step2'">Step2</li> <li *ngClass="{active: step==='step3'}" (click)="step='step3'">Step3</li> </ol>

6
ฉันจะรับ cURL เพื่อไม่แสดงแถบความคืบหน้าได้อย่างไร
ฉันพยายามใช้ cURL ในสคริปต์และทำให้มันไม่แสดงแถบความคืบหน้า ฉันได้พยายาม-s, -silent, -Sและ-quietตัวเลือก แต่ไม่มีของพวกเขาทำงาน นี่เป็นคำสั่งทั่วไปที่ฉันได้ลอง: curl -s http://google.com > temp.html ฉันเพิ่งได้รับแถบความคืบหน้าเมื่อกดไปที่ไฟล์ดังนั้นจึงcurl -s http://google.comไม่มีแถบความคืบหน้า แต่curl -s http://google.com > temp.htmlจะมี
562 linux  bash  unix  scripting  curl 

11
Fetch: POST ข้อมูล json
ตั้งค่าใหม่ตั้งค่าStack Overflow เป็นภาษาอังกฤษ : какотправить json насервер fetch javascript? Всеговоряттолькоотом, какполучить json ฉันพยายามที่จะโพสต์วัตถุ JSON ใช้ดึงข้อมูล จากสิ่งที่ฉันสามารถเข้าใจได้ฉันต้องแนบวัตถุที่เป็นสตริงกับส่วนของคำขอเช่น: fetch("/echo/json/", { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, method: "POST", body: JSON.stringify({a: 1, b: 2}) }) .then(function(res){ console.log(res) }) .catch(function(res){ console.log(res) }) เมื่อใช้json echo ของ jsfiddleฉันคาดว่าจะเห็นวัตถุที่ฉันส่ง ( {a: 1, b: 2}) กลับ แต่สิ่งนี้ไม่ได้เกิดขึ้น …

30
วิธีรอใน bash เพื่อให้หลาย ๆ กระบวนการย่อยเสร็จสิ้นและกลับรหัสทางออก! = 0 เมื่อกระบวนการย่อยใด ๆ จบลงด้วยรหัส! = 0
จะรอสคริปต์ bash สำหรับหลาย ๆ subprocesses ที่เกิดจาก script นั้นเพื่อเสร็จสิ้นและส่งกลับ code exit! = 0 เมื่อกระบวนการย่อยใด ๆ จบลงด้วย code! = 0? สคริปต์ง่าย ๆ : #!/bin/bash for i in `seq 0 9`; do doCalculations $i & done wait สคริปต์ด้านบนจะรอการประมวลผลย่อยทั้งหมด 10 รายการ แต่จะให้สถานะการออก 0 เสมอ (ดูhelp wait) ฉันจะแก้ไขสคริปต์นี้ได้อย่างไรเพื่อให้ค้นพบสถานะการออกของโพรเซสย่อยที่เกิดและกลับรหัสทางออก 1 เมื่อโพรเซสใด ๆ ที่ลงท้ายด้วยรหัส! = 0? มีวิธีแก้ปัญหาที่ดีกว่าการรวบรวม …
562 bash  process  wait 

6
ฉันจะทำให้การอ้างอิงโปรโตคอลที่อ่อนแอใน 'บริสุทธิ์' Swift (ไม่มี @objc) ได้อย่างไร
weakดูเหมือนว่าการอ้างอิงจะไม่ทำงานใน Swift ยกเว้นว่ามีการprotocolประกาศเป็น@objcซึ่งฉันไม่ต้องการในแอพ Swift ที่บริสุทธิ์ รหัสนี้ให้ข้อผิดพลาดในการคอมไพล์ ( weakไม่สามารถใช้กับประเภทที่ไม่ใช่คลาสMyClassDelegate): class MyClass { weak var delegate: MyClassDelegate? } protocol MyClassDelegate { } ฉันต้องนำหน้าโปรโตคอลด้วย@objcแล้วก็ใช้งานได้ คำถาม: อะไรคือวิธีที่รวดเร็ว 'บริสุทธิ์' ในการบรรลุเป้าหมายweak delegate?

21
ฉันสามารถใส่แฟ้มลงในไดเรกทอรีได้กี่ไฟล์
มันสำคัญแค่ไหนที่ฉันเก็บไฟล์ไว้ในไดเรกทอรีเดียว? ถ้าเป็นเช่นนั้นมีกี่ไฟล์ในไดเรกทอรีที่มีมากเกินไปและสิ่งที่มีผลกระทบของการมีไฟล์มากเกินไป? (นี่เป็นเซิร์ฟเวอร์ Linux) พื้นหลัง: ฉันมีเว็บไซต์อัลบั้มรูปภาพและทุกภาพที่อัปโหลดจะถูกเปลี่ยนชื่อเป็นรหัส 8 หลักฐานสิบหก (พูด, a58f375c.jpg) นี่คือเพื่อหลีกเลี่ยงข้อขัดแย้งของชื่อไฟล์ (หากอัปโหลดไฟล์จำนวนมาก "IMG0001.JPG") ชื่อไฟล์ดั้งเดิมและข้อมูลเมตาที่มีประโยชน์ใด ๆ จะถูกเก็บไว้ในฐานข้อมูล ตอนนี้ฉันมีไฟล์ประมาณ 1500 ไฟล์ในไดเรกทอรีรูปภาพ สิ่งนี้ทำให้การแสดงรายการไฟล์ในไดเรกทอรี (ผ่าน FTP หรือไคลเอนต์ SSH) ใช้เวลาไม่กี่วินาที แต่ฉันไม่เห็นว่ามันจะมีผลกระทบอะไรนอกจากนั้น โดยเฉพาะอย่างยิ่งดูเหมือนจะไม่มีผลกระทบใด ๆ กับความเร็วของไฟล์รูปภาพที่ถูกส่งไปยังผู้ใช้ ฉันคิดเกี่ยวกับการลดจำนวนภาพโดยทำไดเรกทอรีย่อย 16 รายการ: 0-9 และ af จากนั้นฉันจะย้ายรูปภาพไปยังไดเรกทอรีย่อยโดยยึดตามหลักฐานสิบหกแรกของชื่อไฟล์ แต่ฉันไม่แน่ใจว่ามีเหตุผลใดที่จะต้องทำเช่นนั้นยกเว้นการแสดงรายการไดเรกทอรีเป็นครั้งคราวผ่าน FTP / SSH
561 filesystems  limit 

8
รับส่วนหัวคำตอบเดียวจาก HTTP POST โดยใช้ curl
หนึ่งสามารถขอเพียงส่วนหัวโดยใช้หัว HTTP, เป็นตัวเลือกใน-Icurl(1) $ curl -I / เนื้อความการตอบสนอง HTML ที่มีความยาวเป็นสิ่งที่เจ็บปวดในการรับบรรทัดคำสั่งดังนั้นฉันจึงต้องการรับเฉพาะส่วนหัวเป็นคำติชมสำหรับคำขอ POST ของฉัน อย่างไรก็ตาม HEAD และ POST เป็นสองวิธีที่ต่างกัน ฉันจะให้ curl แสดงเฉพาะส่วนหัวการตอบสนองต่อคำขอ POST ได้อย่างไร
561 post  curl  http-headers 


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