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

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

10
ฉันจะดูสิ่งที่เปลี่ยนแปลงในไฟล์ก่อนที่จะคอมไพล์ git ได้อย่างไร?
ฉันสังเกตเห็นว่าในขณะที่ทำงานกับตั๋วหนึ่งหรือสองใบถ้าฉันก้าวออกไปฉันไม่แน่ใจว่าฉันทำอะไรอยู่สิ่งที่เปลี่ยนแปลงไป ฯลฯ มีวิธีดูการเปลี่ยนแปลงที่ทำสำหรับไฟล์ที่กำหนดก่อนที่จะเพิ่มคอมไพล์แล้วคอมไพล์กระทำหรือไม่?
351 git 

5
การตั้งค่าตัวแปรสภาพแวดล้อมก่อนที่คำสั่งใน Bash จะไม่ทำงานสำหรับคำสั่งที่สองในไพพ์
ในเชลล์ที่กำหนดโดยปกติฉันจะตั้งค่าตัวแปรหรือตัวแปรแล้วเรียกใช้คำสั่ง เมื่อเร็ว ๆ นี้ฉันได้เรียนรู้เกี่ยวกับแนวคิดของการเพิ่มคำนิยามตัวแปรให้กับคำสั่ง: FOO=bar somecommand someargs มันใช้งานได้ ... มันไม่ทำงานเมื่อคุณเปลี่ยนตัวแปร LC_ * (ซึ่งดูเหมือนว่าจะส่งผลกระทบต่อคำสั่ง แต่ไม่ใช่ข้อโต้แย้งตัวอย่างเช่น '[az]' ช่วงถ่าน) หรือเมื่อไพพ์เอาต์พุตไปยังคำสั่งอื่น: FOO=bar somecommand someargs | somecommand2 # somecommand2 is unaware of FOO ฉันสามารถเติม somecommand2 ด้วย "FOO = bar" ได้ด้วยซึ่งใช้งานได้ แต่เพิ่มการซ้ำซ้อนที่ไม่ต้องการและไม่ช่วยอาร์กิวเมนต์ที่ตีความขึ้นอยู่กับตัวแปร (เช่น '[az]') ดังนั้นวิธีที่ดีในการทำเช่นนี้ในบรรทัดเดียวคืออะไร? ฉันกำลังคิดบางอย่างตามคำสั่งของ: FOO=bar (somecommand someargs | somecommand2) # Doesn't actually work ฉันได้รับคำตอบที่ดีมากมาย! …

9
เหตุใดฉันจึงไม่สามารถสร้างเวกเตอร์ของการอ้างอิงได้
เมื่อฉันทำสิ่งนี้: std::vector<int> hello; ทุกอย่างใช้งานได้ดี อย่างไรก็ตามเมื่อฉันทำให้เป็นเวกเตอร์ของการอ้างอิงแทน: std::vector<int &> hello; ฉันได้รับข้อผิดพลาดที่น่ากลัวเช่น ข้อผิดพลาด C2528: 'ตัวชี้': ตัวชี้ไปยังการอ้างอิงนั้นผิดกฎหมาย ฉันต้องการใส่การอ้างอิงจำนวนมากเพื่อวางโครงสร้างในเวกเตอร์เพื่อที่ฉันจะได้ไม่ต้องยุ่งกับพอยน์เตอร์ ทำไมเวกเตอร์ถึงโกรธเคืองเรื่องนี้? ตัวเลือกเดียวของฉันคือใช้เวกเตอร์พอยน์เตอร์แทนหรือไม่

5
ทำไมไม่ใช้ java.util.logging?
เป็นครั้งแรกในชีวิตของฉันฉันพบว่าตัวเองอยู่ในตำแหน่งที่ฉันเขียน Java API ที่จะเปิดแหล่งที่มา หวังว่าจะรวมอยู่ในโครงการอื่น ๆ อีกมากมาย สำหรับการบันทึกฉัน (และแน่นอนคนที่ฉันทำงานด้วย) มักจะใช้ JUL (java.util.logging) และไม่เคยมีปัญหาใด ๆ อย่างไรก็ตามตอนนี้ฉันต้องเข้าใจในรายละเอียดเพิ่มเติมสิ่งที่ฉันควรทำเพื่อการพัฒนา API ของฉัน ฉันได้ทำการวิจัยเกี่ยวกับเรื่องนี้และข้อมูลที่ฉันได้รับฉันเพิ่งสับสนมากขึ้น ดังนั้นโพสต์นี้ ตั้งแต่ฉันมาจาก JUL ฉันลำเอียง ความรู้ที่เหลือของฉันไม่ใหญ่มาก จากการวิจัยที่ฉันทำฉันได้พบกับเหตุผลเหล่านี้ว่าทำไมคนถึงไม่ชอบ JUL: "ผมเริ่มพัฒนาในชวานานก่อนที่ดวงอาทิตย์ปล่อยออกกรกฎาคมและมันก็เป็นเพียงแค่ง่ายสำหรับผมที่จะดำเนินการกับการเข้าสู่ระบบกรอบ-X มากกว่าที่จะเรียนรู้สิ่งใหม่" อืมมม ฉันไม่ได้ล้อเล่นนี่เป็นสิ่งที่ผู้คนพูด ด้วยเหตุผลนี้เราทุกคนสามารถทำได้ COBOL (อย่างไรก็ตามฉันสามารถเกี่ยวข้องกับการเป็นเพื่อนขี้เกียจอย่างแน่นอน) "ผมไม่ชอบชื่อของระดับการเข้าสู่ระบบในกรกฎาคมว่า" ตกลงอย่างจริงจังนี่เป็นเพียงเหตุผลไม่เพียงพอที่จะแนะนำการพึ่งพาใหม่ "ผมไม่ชอบรูปแบบมาตรฐานของการส่งออกจากกรกฎาคม" อืมมม นี่เป็นเพียงการกำหนดค่า คุณไม่จำเป็นต้องทำอะไรกับโค้ดที่ชาญฉลาด (จริงแล้วย้อนกลับไปในสมัยก่อนคุณอาจต้องสร้างคลาส Formatter ของคุณเองเพื่อทำให้ถูกต้อง) "ผมใช้ห้องสมุดอื่น ๆ ที่ยังใช้การบันทึกกรอบ-X ดังนั้นฉันคิดว่ามันง่ายขึ้นเพียงเพื่อการใช้งานที่หนึ่ง" นี่คือการโต้แย้งแบบวงกลมใช่ไหม? เหตุใด 'ทุกคน' จึงใช้การบันทึกเฟรมเวิร์ก X …
351 java  logging  slf4j  logback 

30
Array หรือ List ใน Java ไหนเร็วกว่ากัน
ฉันต้องเก็บหลายพันสายในหน่วยความจำเพื่อให้สามารถเข้าถึงได้ใน Java ฉันควรเก็บไว้ในอาร์เรย์หรือฉันควรใช้รายการบางประเภท? เนื่องจากอาร์เรย์เก็บข้อมูลทั้งหมดไว้ในหน่วยความจำที่ต่อเนื่องกัน (ซึ่งแตกต่างจากรายการ) การใช้อาร์เรย์เพื่อเก็บสตริงหลายพันรายการจะทำให้เกิดปัญหาหรือไม่
351 java  arrays  list  performance 

11
วิธีรันเธรดที่เรียกใช้ได้ใน Android ตามช่วงเวลาที่กำหนด
ฉันพัฒนาแอพพลิเคชั่นเพื่อแสดงข้อความตามช่วงเวลาที่กำหนดในหน้าจอตัวจำลอง Android ฉันกำลังใช้Handlerชั้นเรียน นี่คือตัวอย่างจากรหัสของฉัน: handler = new Handler(); Runnable r = new Runnable() { public void run() { tv.append("Hello World"); } }; handler.postDelayed(r, 1000); เมื่อฉันเรียกใช้แอปพลิเคชันนี้ข้อความจะปรากฏเพียงครั้งเดียว ทำไม?

9
สตริงข้อความค้นหา HTTPS ปลอดภัยหรือไม่
ฉันกำลังสร้าง API บนเว็บที่ปลอดภัยซึ่งใช้ HTTPS อย่างไรก็ตามหากฉันอนุญาตให้ผู้ใช้กำหนดค่า (รวมถึงการส่งรหัสผ่าน) โดยใช้สตริงการสืบค้นสิ่งนี้จะปลอดภัยหรือฉันควรบังคับให้ทำผ่าน POST หรือไม่
351 ssl  https  query-string 

14
วิธีการเชื่อมสตริงของฟิลด์สตริงในกลุ่ม PostgreSQL โดยการสืบค้น
ฉันกำลังมองหาวิธีที่จะเชื่อมโยงสตริงของเขตข้อมูลภายในกลุ่มโดยใช้แบบสอบถาม ตัวอย่างเช่นฉันมีตาราง: ID COMPANY_ID EMPLOYEE 1 1 Anna 2 1 Bill 3 2 Carol 4 2 Dave และฉันต้องการจัดกลุ่มโดย company_id เพื่อให้ได้สิ่งที่ชอบ: COMPANY_ID EMPLOYEE 1 Anna, Bill 2 Carol, Dave มีฟังก์ชั่นในตัวใน mySQL เพื่อทำgroup_concatนี้

5
กลุ่มวิธีใน C # คืออะไร?
ฉันมักจะพบข้อผิดพลาดเช่น "ไม่สามารถแปลงจาก 'กลุ่มวิธี' เป็น 'สตริง'" ในกรณีเช่น: var list = new List<string>(); // ... snip list.Add(someObject.ToString); ToStringแน่นอนมีการพิมพ์ผิดในบรรทัดสุดท้ายเพราะฉันลืมวงเล็บภาวนาหลังจาก แบบฟอร์มที่ถูกต้องจะเป็น: var list = new List<string>(); // ... snip list.Add(someObject.ToString()); // <- notice the parentheses อย่างไรก็ตามฉันมาสงสัยว่ากลุ่มวิธีคืออะไร Googleไม่มากของความช่วยเหลือที่มิได้MSDN
351 c#  .net  method-group 

6
คุณจะแสดงตัวอักษรไบนารีใน Python อย่างไร
คุณจะแสดงจำนวนเต็มเป็นเลขฐานสองด้วยตัวอักษร Python ได้อย่างไร ฉันสามารถค้นหาคำตอบสำหรับ hex ได้อย่างง่ายดาย: >>> 0x12AF 4783 >>> 0x100 256 และแปด: >>> 01267 695 >>> 0100 64 คุณใช้ตัวอักษรเพื่อแสดงไบนารีใน Python อย่างไร สรุปคำตอบ Python 2.5 และรุ่นก่อนหน้า: สามารถแสดงไบนารีโดยใช้int('01010101111',2)แต่ไม่ใช่แบบตัวอักษร Python 2.5 และรุ่นก่อนหน้า: ไม่มีวิธีในการแสดงตัวอักษรไบนารี งูหลาม 2.6 เบต้า: คุณสามารถทำเช่นดังนั้น: หรือ0b11001110B1100111 Python 2.6 beta: จะอนุญาต0o27หรือ0O27(อักขระตัวที่สองคือตัวอักษร O) เพื่อแทนค่าฐานแปด Python 3.0 beta: เหมือนกับ 2.6 แต่จะไม่อนุญาตให้ใช้027ไวยากรณ์ที่เก่ากว่าสำหรับ octals อีกต่อไป



10
กลไกเหตุการณ์ทั่วโลกของ JavaScript
ฉันต้องการที่จะจับทุกข้อผิดพลาดฟังก์ชั่นที่ไม่ได้กำหนดโยน มีระบบจัดการข้อผิดพลาดทั่วโลกใน JavaScript หรือไม่ กรณีใช้งานคือการเรียกใช้ฟังก์ชันจากแฟลชที่ไม่ได้กำหนดไว้

21
OwinStartup ไม่ยิง
ฉันมีรหัสการตั้งค่า OwinStartup ทำงานได้อย่างสมบูรณ์และหยุดทำงาน น่าเสียดายที่ฉันไม่แน่ใจว่าสิ่งที่ฉันทำเพื่อหยุดทำงานและฉันมีเวลายากมากที่จะหามัน เพื่อให้แน่ใจว่าฉันมีพื้นฐานครอบคลุมฉันตรวจสอบสองเท่าเพื่อให้แน่ใจว่าฉันมี [assembly:OwinStartup(typeof(WebApplication.Startup))] กำหนดค่าแอตทริบิวต์ไว้อย่างถูกต้องและตรวจสอบให้แน่ใจว่าฉันไม่มี appSetting for owin: AutomaticAppStartup ที่ตั้งค่าเป็นเท็จดังนั้นฉันจึงตั้งค่าให้เป็นจริงเพื่อความปลอดภัยเนื่องจากไม่มีอะไรมาก่อน <add key="owin:AutomaticAppStartup" value="true" /> ฉันยังได้ลองเรียกใช้การตั้งค่าแอพโดยเฉพาะ: <add key="owin:appStartup" value="WebApplication.Startup" /> ก่อนที่จะหยุดทำงานฉันอัพเกรด Microsoft.Owin.Security NuGet แพ็คเกจเป็น 2.0.2 ดังนั้นฉันจึงลองเปลี่ยนเป็น 2.0.1 (นั่นเป็นความเจ็บปวด) แต่ก็ไม่ได้เปลี่ยนแปลงอะไรเลย ฉันมี WebActivator ติดตั้งอยู่ในโครงการและกำลังใช้สิ่งนั้นเพื่อบู๊ตสิ่งอื่น ๆ แต่ฉันได้ทดสอบว่าในเทมเพลต WebApplication ใหม่และทำงานได้ที่นั่นดังนั้นฉันจึงไม่คิดว่านั่นเป็นผู้ร้าย ฉันยังลองลบคลาสเริ่มต้นของฉันและใช้ Visual Studio เพื่อเพิ่มคลาสใหม่โดยใช้ประเภทคลาสเริ่มต้นของ OWIN ในเพิ่มรายการใหม่และนั่นก็ไม่ได้ถูกเรียกเช่นกัน ต่อไปฉันลองเพิ่มคลาสการเริ่มต้นที่สองเนื่องจากฉันรู้ว่ามันจะทำให้เกิดข้อยกเว้นถ้ามีการกำหนดแอตทริบิวต์ของ OwinStartup มากกว่าหนึ่งรายการ แต่มันไม่ได้เป็นการยกเว้นข้อยกเว้นใด ๆ ไม่แน่ใจว่าจะลองอะไรอีก ความคิดใด …

7
กำ rake exec หมายถึงอะไร?
อะไรbundle exec rake db:migrateหมายถึง? หรือbundle exec rake <command>โดยทั่วไป? ฉันเข้าใจว่าbundleจะดูแลสิ่งต่าง ๆ ใน Gemfile ฉันรู้ว่าคำว่า "exec" หมายถึงอะไร ฉันเข้าใจว่าrakeรักษาสิ่งต่าง ๆ ไว้ในสคริปต์ที่คุณสามารถทำได้และฉันรู้ว่านั่นdb:migrateเป็นหนึ่งในนั้น ฉันแค่ไม่รู้ว่าคำเหล่านี้ทำอะไรกัน เหตุใดจึงควรbundleใช้เพื่อดำเนินการrakeเพื่อโยกย้ายฐานข้อมูล

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