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

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

29
รับชื่อไฟล์และเส้นทางจาก URI จาก mediastore
ฉันได้รับonActivityResultคืนจากการเลือกรูปภาพที่ฉันสามารถรับ URI สำหรับภาพได้โดยใช้สิ่งต่อไปนี้: Uri selectedImage = data.getData(); การแปลงเป็นสตริงให้สิ่งนี้: content://media/external/images/media/47 หรือเส้นทางให้: /external/images/media/47 อย่างไรก็ตามฉันไม่สามารถหาวิธีแปลงเป็นเส้นทางที่แน่นอนได้เพราะฉันต้องการโหลดภาพเป็นบิตแมปโดยไม่ต้องคัดลอกที่อื่น ฉันรู้ว่าสิ่งนี้สามารถทำได้โดยใช้ URI และตัวแก้ไขเนื้อหา แต่ดูเหมือนว่าจะเป็นการรีบูตเครื่องโทรศัพท์ฉันเดาว่าMediaStoreจะไม่นับหมายเลขเดิมระหว่างการรีบูต

8
จะเปิดลิงค์ในแท็บใหม่บน html ได้อย่างไร
ฉันกำลังทำงานในโครงการ HTML และฉันไม่สามารถหาวิธีเปิดลิงก์ในแท็บใหม่โดยไม่มีจาวาสคริปต์ ฉันรู้อยู่แล้วว่า<a href="http://www.WEBSITE_NAME.com"></a>เปิดลิงค์ในแท็บเดียวกัน ความคิดใดที่จะทำให้มันเปิดในใหม่ได้หรือไม่

30
ตรวจสอบว่าผู้ใช้ใช้ IE หรือไม่
ฉันกำลังเรียกฟังก์ชั่นเหมือนด้านล่างโดยคลิกที่ divs กับคลาสที่กำหนด มีวิธีที่ฉันสามารถตรวจสอบเมื่อเริ่มต้นฟังก์ชั่นถ้าผู้ใช้ใช้ Internet Explorer และยกเลิก / ยกเลิกถ้าพวกเขาใช้เบราว์เซอร์อื่น ๆ เพื่อให้ทำงานเฉพาะสำหรับผู้ใช้ IE? ผู้ใช้ที่นี่จะเป็น IE8 หรือสูงกว่าดังนั้นฉันจึงไม่จำเป็นต้องครอบคลุม IE7 และรุ่นที่ต่ำกว่า หากฉันสามารถบอกได้ว่าเบราว์เซอร์ใดที่ใช้งานอยู่จะดี แต่ก็ไม่จำเป็น ฟังก์ชั่นตัวอย่าง: $('.myClass').on('click', function(event) { // my function });

25
วิธีอัปเดตคุณสมบัติสถานะซ้อนใน React
ฉันกำลังพยายามจัดระเบียบสถานะของฉันโดยใช้คุณสมบัติที่ซ้อนกันเช่นนี้: this.state = { someProperty: { flag:true } } แต่การอัพเดทสถานะเช่นนี้ this.setState({ someProperty.flag: false }); ไม่ทำงาน สิ่งนี้สามารถทำได้อย่างถูกต้อง?

14
วิธีค้นหาไฟล์ php.ini ที่ใช้โดยบรรทัดคำสั่ง
ฉันต้องเปิดใช้งาน pdo_mysql ในสภาพแวดล้อม EasyPhp ของฉันดังนั้นฉันจึงไปที่ไฟล์ php.ini และไม่ใส่เครื่องหมายในบรรทัดต่อไปนี้: extension=php_pdo_mysql.dll น่าเสียดายที่ฉันยังคงมีปัญหาเดียวกัน ฉันกำลังใช้ CLI ดังนั้นฉันคิดว่าฉันต้องค้นหาไฟล์ php.ini ที่ CLI ใช้ ฉันจะหามันได้อย่างไร
389 php  easyphp 

8
ประเมินแท็ก JSTL c ว่างหรือ null
ฉันจะตรวจสอบได้อย่างไรถ้าStringเป็นโมฆะหรือว่างเปล่าโดยใช้cแท็กของJSTL? ฉันมีชื่อตัวแปรvar1และฉันสามารถแสดงได้ แต่ฉันต้องการเพิ่มเครื่องมือเปรียบเทียบเพื่อตรวจสอบความถูกต้อง <c:out value="${var1}" /> ฉันต้องการตรวจสอบเมื่อเป็นโมฆะหรือว่างเปล่า (ค่าของฉันคือสตริง)
389 jsp  jstl  el 

18
ใช้ค่า Enum เป็นตัวอักษรสตริง
วิธีที่ดีที่สุดในการใช้ค่าที่เก็บไว้ใน Enum เป็นตัวอักษร String คืออะไร ตัวอย่างเช่น: public enum Modes { some-really-long-string, mode1, mode2, mode3 } แล้วต่อมาผมสามารถใช้เพื่อกลับแสดงสตริงในฐานะที่เป็นMode.mode1 mode1โดยไม่ต้องโทรMode.mode1.toString()ออก
389 java  string  enums 

6
iOS 10:“ [แอป] หากเราอยู่ในตัวจัดการการส่งมอบจริงเราไม่สามารถเพิ่มรั้วใหม่ใด ๆ เนื่องจากข้อ จำกัด ของ CA”
บางครั้งฉันได้รับข้อความนี้ในบันทึกของ Xcode 8b3 เมื่อเรียกใช้แอปของฉันดูเหมือนว่าทุกอย่างจะทำงาน แต่ฉันต้องการทราบว่าสิ่งนี้มาจากไหน Google ไม่ได้ช่วยอะไรเลย
389 ios 

6
วิธีที่เร็วที่สุดในการพิจารณาว่าจำนวนเต็มอยู่ระหว่างสองจำนวนเต็ม (รวม) กับชุดของค่าที่ทราบ
มีวิธีเร็วกว่าx >= start && x <= endใน C หรือ C ++ เพื่อทดสอบว่าจำนวนเต็มอยู่ระหว่างสองจำนวนเต็ม? อัปเดต : แพลตฟอร์มเฉพาะของฉันคือ iOS นี่เป็นส่วนหนึ่งของฟังก์ชันเบลอเบลอที่ จำกัด พิกเซลไว้ที่วงกลมในสี่เหลี่ยมจัตุรัสที่กำหนด UPDATE : หลังจากที่พยายามตอบรับผมได้มีคำสั่งเพิ่มความเร็วขนาดในหนึ่งบรรทัดของรหัสมากกว่าทำมันปกติx >= start && x <= endทาง UPDATE : นี่คือโค้ดหลังและก่อนหน้ากับแอสเซมเบลอร์จาก XCode: วิธีการใหม่ // diff = (end - start) + 1 #define POINT_IN_RANGE_AND_INCREMENT(p, range) ((p++ - range.start) < range.diff) Ltmp1313: …
389 c++  c  performance  math 

14
ส่งอีเมลโดยใช้เซิร์ฟเวอร์ GMail SMTP จากหน้า PHP
ฉันพยายามส่งอีเมลผ่านเซิร์ฟเวอร์ SMTP ของ GMail จากหน้า PHP แต่ฉันได้รับข้อผิดพลาดนี้: การรับรองความถูกต้องล้มเหลว [เซิร์ฟเวอร์ SMTP: SMTP ไม่รองรับการตรวจสอบสิทธิ์ (รหัส: 250 การตอบสนอง: mx.google.com ที่บริการของคุณ [98.117.99.235] ขนาด 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)] ใครช่วยได้บ้าง นี่คือรหัสของฉัน: <?php require_once "Mail.php"; $from = "Sandra Sender <sender@example.com>"; $to = "Ramona Recipient <ramona@microsoft.com>"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "smtp.gmail.com"; …
389 php  email  smtp  gmail 

11
ต้องใช้อักขระพิเศษใดในการแสดงออกปกติ
ฉันเบื่อที่จะพยายามเดาอยู่เสมอว่าถ้าฉันควรหลีกเลี่ยงอักขระพิเศษเช่น ' ()[]{}|' ฯลฯ เมื่อใช้งาน regexps จำนวนมาก มันแตกต่างกับตัวอย่างเช่น Python, sed, grep, awk, Perl, เปลี่ยนชื่อ, Apache, find และอื่น ๆ มีกฎชุดใดบ้างที่บอกเวลาที่ฉันควรและเมื่อใดที่ฉันไม่ควรหลีกเลี่ยงอักขระพิเศษ? มันขึ้นอยู่กับประเภท regexp เช่น PCRE, POSIX หรือ regexps เพิ่มเติมหรือไม่
389 regex 

11
foreign key สร้างดัชนีโดยอัตโนมัติหรือไม่
ฉันได้รับแจ้งว่าถ้าฉันใส่ foreign key สองตาราง, SQL Server จะสร้างสิ่งที่คล้ายกับดัชนีในตารางลูก ฉันมีเวลายากที่จะเชื่อว่าสิ่งนี้เป็นจริง แต่ไม่สามารถหาได้ว่าเกี่ยวข้องกับสิ่งนี้โดยเฉพาะมากน้อยเพียงใด เหตุผลที่แท้จริงของฉันในการถามสิ่งนี้คือเพราะเรากำลังเผชิญกับเวลาตอบสนองช้ามากในคำสั่งลบกับตารางที่อาจมี 15 ตารางที่เกี่ยวข้อง ฉันถามคนในฐานข้อมูลของเราและเขาบอกว่าถ้ามีคีย์ต่างประเทศในเขตข้อมูลก็จะทำหน้าที่เหมือนดัชนี ประสบการณ์ของคุณกับสิ่งนี้คืออะไร? ฉันควรเพิ่มดัชนีในเขตข้อมูลคีย์ต่างประเทศทั้งหมดหรือเป็นเพียงค่าใช้จ่ายที่ไม่จำเป็นหรือไม่
389 sql-server 

23
มีวิธีสำหรับกระบวนการที่ไม่ใช่รูทเพื่อเชื่อมโยงกับพอร์ต "สิทธิพิเศษ" บน Linux หรือไม่?
มันน่ารำคาญมากที่มีข้อ จำกัด นี้ในกล่องพัฒนาของฉันเมื่อไม่มีผู้ใช้คนอื่นนอกจากฉัน ฉันรู้วิธีการแก้ปัญหามาตรฐานแต่ไม่มีใครทำสิ่งที่ฉันต้องการ: authbind (เวอร์ชันในการทดสอบ Debian, 1.0, รองรับ IPv4 เท่านั้น) การใช้ iptables REDIRECT เป้าหมายเพื่อเปลี่ยนเส้นทางพอร์ตต่ำไปยังพอร์ตสูง (ตาราง "nat" ยังไม่ได้ใช้งานสำหรับ ip6tables, รุ่น IPv6 ของ iptables) sudo (การทำงานในฐานะรูทเป็นสิ่งที่ฉันพยายามหลีกเลี่ยง) SELinux (หรือคล้ายกัน) (นี่เป็นเพียงกล่อง dev ของฉันฉันไม่ต้องการที่จะเพิ่มความซับซ้อนเป็นพิเศษ) มีsysctlตัวแปรง่ายๆที่อนุญาตให้กระบวนการที่ไม่ใช่รูทเชื่อมโยงกับพอร์ต "สิทธิพิเศษ" (พอร์ตน้อยกว่า 1024) บน Linux หรือไม่หรือฉันโชคไม่ดี? แก้ไข: ในบางกรณีคุณสามารถใช้ความสามารถในการทำเช่นนี้

20
วิธีล้างรายละเอียดการรับรองความถูกต้องเบื้องต้นใน chrome
ฉันกำลังทำงานกับไซต์ที่ใช้การรับรองความถูกต้องเบื้องต้น การใช้ Chrome ฉันเข้าสู่ระบบโดยใช้การตรวจสอบขั้นพื้นฐาน ตอนนี้ฉันต้องการลบรายละเอียดการรับรองความถูกต้องเบื้องต้นจากเบราว์เซอร์และลองเข้าสู่ระบบอื่น คุณจะล้างรายละเอียดการตรวจสอบสิทธิ์พื้นฐานปัจจุบันอย่างไรเมื่อใช้งาน Chrome

30
ใบรับรอง SSL ถูกปฏิเสธพยายามเข้าถึง GitHub ผ่าน HTTPS หลังไฟร์วอลล์
ฉันติดอยู่หลังไฟร์วอลล์ดังนั้นต้องใช้ HTTPS เพื่อเข้าถึงที่เก็บ GitHub ของฉัน ฉันใช้ cygwin 1.7.7 บน Windows XP ฉันได้ลองตั้งค่ารีโมตเป็นhttps://username@github.com/username/ExcelANT.gitแล้ว แต่ได้รับการแจ้งเตือนให้ใส่รหัสผ่าน แต่ไม่ได้ทำอะไรเลยเมื่อฉันป้อนมัน https://username:<password>github.com/username/ExcelANT.gitและการโคลน repo ที่ว่างเปล่าตั้งแต่เริ่มต้น แต่ทุกครั้งมันทำให้ฉันมีข้อผิดพลาดเหมือนกัน ข้อผิดพลาด: ปัญหาใบรับรอง SSL ตรวจสอบว่าใบรับรอง CA นั้นตกลง รายละเอียด: ข้อผิดพลาด: 14090086: รูทีน SSL: SSL3_GET_SERVER_CERTIFICATE: การตรวจสอบใบรับรองล้มเหลวขณะเข้าถึงhttps://github.com/username/ExcelANT.git/info/refs เปิดใช้GIT_CURL_VERBOSE=1ให้ฉัน * เกี่ยวกับการเชื่อมต่อ () กับ github.com พอร์ต 443 (# 0) * ลอง 207.97.227.239 ... * ตั้งค่าสถานที่ตรวจสอบใบรับรองเรียบร้อยแล้ว: * CAfile: ไม่มี …

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