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

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

11
วิธีการตรวจสอบเมื่อมีการเปลี่ยนแปลงค่า @Input () ในเชิงมุม?
ฉันมีองค์ประกอบหลัก ( CategoryComponent ), องค์ประกอบย่อย ( videoListComponent ) และ ApiService ฉันมีการทำงานที่ดีที่สุดนี้คือแต่ละส่วนสามารถเข้าถึง json api และรับข้อมูลที่เกี่ยวข้องผ่านทาง observables ปัจจุบันองค์ประกอบรายการวิดีโอเพิ่งได้รับวิดีโอทั้งหมดที่ฉันต้องการที่จะกรองนี้เพื่อวิดีโอเพียงในหมวดหมู่เฉพาะอย่างยิ่งผมประสบความสำเร็จนี้โดยผ่าน CategoryID @Input()กับเด็กผ่านทาง CategoryComponent.html <video-list *ngIf="category" [categoryId]="category.id"></video-list> สิ่งนี้ทำงานได้และเมื่อมีการเปลี่ยนแปลงหมวดหมู่@Input()parentComponent หลักค่า categoryId จะถูกส่งผ่านผ่านแต่ฉันต้องตรวจพบสิ่งนี้ใน VideoListComponent และขออาร์เรย์วิดีโออีกครั้งผ่าน APIService (พร้อมกับ categoryId ใหม่) ใน AngularJS ฉันจะทำ a $watchบนตัวแปร วิธีที่ดีที่สุดในการจัดการกับสิ่งนี้คืออะไร?

6
ตัวดัดแปลงการเข้าถึง C #“ ภายใน” เมื่อทำการทดสอบหน่วย
ฉันใหม่ในการทดสอบหน่วยและฉันพยายามหาว่าควรเริ่มใช้ตัวปรับการเข้าถึง 'ภายใน' ให้มากขึ้นหรือไม่ ฉันรู้ว่าถ้าเราใช้ 'ภายใน' และตั้งค่าแอสเซมบลีตัวแปร 'InternalsVisibleTo' เราสามารถทดสอบฟังก์ชันที่เราไม่ต้องการประกาศสาธารณะจากโครงการทดสอบ ทำให้ฉันคิดว่าฉันควรใช้ 'ภายใน' เสมอเพราะอย่างน้อยแต่ละโครงการ (ควร?) มีโครงการทดสอบของตัวเอง พวกคุณช่วยบอกเหตุผลได้ไหมว่าทำไมฉันถึงไม่ควรทำอย่างนี้? เมื่อใดที่ฉันควรใช้ 'ส่วนตัว'
469 c#  .net  unit-testing  tdd 

10
วิธีแปลง Set เป็น Array
ชุดดูเหมือนว่าเป็นวิธีที่ดีในการสร้างอาร์เรย์ที่มีองค์ประกอบที่ไม่ซ้ำกันรับประกัน แต่ก็ไม่ได้เปิดเผยวิธีที่ดีใด ๆ ที่จะได้รับคุณสมบัติยกเว้นสำหรับเครื่องกำเนิดไฟฟ้า [Set] .values mySet.values.next()ซึ่งเรียกว่าในทางที่น่าอึดอัดใจของ สิ่งนี้คงจะดีถ้าคุณสามารถโทรmapและฟังก์ชั่นที่คล้ายกันในชุด แต่คุณไม่สามารถทำเช่นนั้นได้ ฉันพยายามArray.fromแล้ว แต่ดูเหมือนว่าจะแปลงเฉพาะวัตถุที่เหมือนอาร์เรย์ (NodeList และ TypedArrays?) ไปเป็น Array ลองอีกครั้ง: ใช้Object.keysไม่ได้กับชุดและ Set.prototype ไม่มีวิธีคงที่ที่คล้ายกัน ดังนั้นคำถาม: มีวิธีการ inbuilt ที่สะดวกสำหรับการสร้าง Array ด้วยค่าของ Set ที่กำหนดหรือไม่ (ลำดับขององค์ประกอบไม่สำคัญจริงๆ) หากไม่มีตัวเลือกดังกล่าวอยู่แล้วอาจจะมีสำนวนหนึ่งที่ดีสำหรับการทำเช่นนั้น? ชอบใช้for...ofหรือคล้ายกัน?


18
บันทึกบิตแมปไปยังตำแหน่ง
ฉันกำลังทำงานกับฟังก์ชั่นในการดาวน์โหลดภาพจากเว็บเซิร์ฟเวอร์แสดงบนหน้าจอและหากผู้ใช้ต้องการเก็บภาพไว้ให้บันทึกลงในการ์ด SD ในโฟลเดอร์บางโฟลเดอร์ มีวิธีง่าย ๆ ในการบิตแมปและบันทึกลงในการ์ด SD ในโฟลเดอร์ที่ฉันเลือกหรือไม่? ปัญหาของฉันคือฉันสามารถดาวน์โหลดภาพแสดงบนหน้าจอเป็นบิตแมป วิธีเดียวที่ฉันสามารถค้นหาเพื่อบันทึกภาพไปยังโฟลเดอร์เฉพาะคือการใช้ FileOutputStream แต่ต้องใช้อาร์เรย์ไบต์ ฉันไม่แน่ใจวิธีการแปลง (ถ้าเป็นวิธีที่ถูกต้อง) จาก Bitmap ไปเป็นอาร์เรย์ไบต์ดังนั้นฉันสามารถใช้ FileOutputStream เพื่อเขียนข้อมูลได้ ตัวเลือกอื่นที่ฉันมีคือการใช้ MediaStore: MediaStore.Images.Media.insertImage(getContentResolver(), bm, barcodeNumber + ".jpg Card Image", barcodeNumber + ".jpg Card Image"); ซึ่งใช้งานได้ดีในการบันทึกลงในการ์ด SD แต่ไม่อนุญาตให้คุณปรับแต่งโฟลเดอร์
469 android  bitmap  save 


14
จะอ่านไฟล์ขนาดใหญ่ทีละบรรทัดได้อย่างไร?
ฉันต้องการอ่านไฟล์ทีละบรรทัด แต่ไม่โหลดอย่างสมบูรณ์ในหน่วยความจำ ไฟล์ของฉันใหญ่เกินไปที่จะเปิดในหน่วยความจำและหากพยายามทำเช่นนั้นฉันจะได้รับข้อผิดพลาดจากหน่วยความจำเสมอ ขนาดไฟล์คือ 1 GB
469 php 

25
ฟังก์ชั่น Java 8 Lambda ที่ส่งข้อยกเว้น?
ฉันรู้วิธีสร้างการอ้างอิงถึงวิธีการที่มีStringพารามิเตอร์และส่งกลับค่าเป็นint: Function<String, Integer> อย่างไรก็ตามวิธีนี้ใช้ไม่ได้หากฟังก์ชั่นมีข้อผิดพลาดสมมติว่ามันถูกกำหนดเป็น: Integer myMethod(String s) throws IOException ฉันจะกำหนดข้อมูลอ้างอิงนี้ได้อย่างไร
469 java  lambda  java-8 

29
ฉันจะอธิบายความแตกต่างระหว่างอินเทอร์เฟซกับคลาสนามธรรมได้อย่างไร
ในตอนหนึ่งของการสัมภาษณ์ของฉันฉันได้รับการถามเพื่ออธิบายความแตกต่างระหว่างนั้นอินเตอร์เฟซและระดับนามธรรม นี่คือคำตอบของฉัน: วิธีการของอินเทอร์เฟซ Java เป็นนามธรรมโดยปริยายและไม่สามารถใช้งานได้ คลาสนามธรรม Java สามารถมีวิธีการอินสแตนซ์ที่ดำเนินพฤติกรรมเริ่มต้น ตัวแปรที่ประกาศในอินเตอร์เฟส Java นั้นเป็นค่าเริ่มต้นสุดท้าย คลาสนามธรรมอาจมีตัวแปรที่ไม่สิ้นสุด สมาชิกของส่วนต่อประสาน Java เป็นสาธารณะโดยค่าเริ่มต้น คลาสนามธรรมของ Java สามารถมีสมาชิกคลาสได้ตามปกติเช่นส่วนตัวมีการป้องกัน ฯลฯ อินเทอร์เฟซ Java ควรใช้งานโดยใช้คำหลัก“ ดำเนินการ”; คลาสนามธรรมของ Java ควรถูกขยายโดยใช้คีย์เวิร์ด“ extends” อินเตอร์เฟสสามารถขยายอินเตอร์เฟส Java อื่นได้เท่านั้นคลาสนามธรรมสามารถขยายคลาส Java อื่นและใช้อินเตอร์เฟส Java หลายอินเตอร์เฟส คลาส Java สามารถใช้หลายอินเตอร์เฟส แต่สามารถขยายคลาสนามธรรมเพียงคลาสเดียวเท่านั้น อย่างไรก็ตามผู้สัมภาษณ์ไม่พอใจและบอกฉันว่าคำอธิบายนี้เป็นตัวแทนของ " ความรู้เกี่ยวกับหนอนหนังสือ " เขาถามฉันสำหรับการตอบสนองการปฏิบัติมากขึ้นอธิบายเมื่อฉันจะเลือกระดับนามธรรมมากกว่าอินเตอร์เฟซที่ใช้ตัวอย่างการปฏิบัติ ฉันไปผิดที่ไหน


30
วิธีรับเส้นทางปัจจุบัน
เอกสารปัจจุบันพูดคุยเกี่ยวกับการรับพารามิเตอร์เส้นทางเท่านั้นไม่ใช่ส่วนของเส้นทางที่แท้จริง ตัวอย่างเช่นหากฉันต้องการค้นหาพาเรนต์ของเส้นทางปัจจุบันเป็นไปได้อย่างไร?

30
เหตุใดโปรแกรมนี้จึงถูกปฏิเสธโดยคอมไพเลอร์ C ++ สามตัว
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันมีปัญหาในการรวบรวมโปรแกรม C ++ ที่ฉันเขียน โปรแกรมนี้ง่ายมากและเป็นความรู้ที่ดีที่สุดของฉันสอดคล้องกับกฎทั้งหมดที่กำหนดไว้ในมาตรฐาน C ++ ฉันได้อ่านทั้งหมดของ ISO / IEC 14882: 2003 สองครั้งเพื่อให้แน่ใจ โปรแกรมมีดังนี้: นี่คือผลลัพธ์ที่ฉันได้รับเมื่อพยายามคอมไพล์โปรแกรมนี้ด้วย Visual C ++ 2010: c:\dev>cl /nologo helloworld.png cl : Command line warning D9024 : unrecognized source file type 'helloworld.png', object file assumed helloworld.png : fatal error LNK1107: invalid or corrupt …

15
ชื่อ 'ConfigurationManager' ไม่มีอยู่ในบริบทปัจจุบัน
ฉันพยายามเข้าถึงconnectionStringsจากไฟล์ปรับแต่ง รหัสคือ ASP.NET + C # ฉันได้เพิ่มSystem.Configurationการอ้างอิงและยังกล่าวถึงการใช้ แต่ก็ยังไม่ยอมรับการชุมนุม ฉันใช้ VSTS 2008 ความคิดใดที่อาจเป็นสาเหตุได้ สิ่งที่แปลกประหลาดอีกอย่างคือชื่อชุดประกอบที่แสดงเป็น "System.configuration" ซึ่งเป็นตัวพิมพ์เล็ก c ซึ่งไม่ใช่วิธีแสดงชื่อสำหรับชุดประกอบระบบอื่น using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; namespace Utility { public class CommonVariables { public static String ConnectionString { get { return ConfigurationManager.ConnectionStrings["EmployeeEntities"].ConnectionString; } } } } Config: <?xml version="1.0" …

20
ค้นหาจุดตัดของสองรายการซ้อนกันหรือไม่
ฉันรู้วิธีรับสี่แยกรายการแบน: b1 = [1,2,3,4,5,9,11,15] b2 = [4,5,6,7,8] b3 = [val for val in b1 if val in b2] หรือ def intersect(a, b): return list(set(a) & set(b)) print intersect(b1, b2) แต่เมื่อฉันต้องค้นหาทางแยกสำหรับรายการซ้อนกันปัญหาของฉันเริ่มต้น: c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63] c2 = [[13, 17, 18, 21, 32], [7, …


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