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

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

6
ทำความเข้าใจเกี่ยวกับฟังก์ชั่นแผนที่
map(function, iterable, ...) ใช้ฟังก์ชั่นกับทุกรายการของ iterable และส่งคืนรายการผลลัพธ์ หากมีการส่งผ่านอาร์กิวเมนต์ที่ซ้ำได้เพิ่มเติมฟังก์ชันต้องใช้อาร์กิวเมนต์จำนวนมากและนำไปใช้กับไอเท็มจาก iterables ทั้งหมดพร้อมกัน หากหนึ่ง iterable สั้นกว่าอีกมันจะถือว่าเป็นขยายด้วยไม่มีรายการ หากฟังก์ชั่นฟังก์ชั่นNoneตัวตนจะถือว่า; หากมีหลายอาร์กิวเมนต์ให้map()ส่งคืนรายการที่ประกอบด้วย tuples ที่มีรายการที่สอดคล้องจาก iterables ทั้งหมด (ชนิดของการดำเนินการแปลงข้อมูล) ข้อโต้แย้งที่ทำซ้ำอาจเป็นลำดับหรือวัตถุที่ทำซ้ำได้; ผลลัพธ์จะเป็นรายการเสมอ สิ่งนี้มีบทบาทอย่างไรในการสร้างผลิตภัณฑ์คาร์ทีเซียน? content = map(tuple, array) เอฟเฟกต์ใดที่ทำให้สิ่งอันดับในนั้นมี? ฉันยังสังเกตเห็นว่าหากไม่มีฟังก์ชั่นแผนที่เอาต์พุตabcก็จะเป็นa, b, cไปตามนั้น ฉันต้องการเข้าใจฟังก์ชั่นนี้อย่างสมบูรณ์ คำจำกัดความการอ้างอิงก็ยากที่จะเข้าใจเช่นกัน ปุยแฟนซีมากเกินไป

12
ลบ char ทั้งหมดออกจากสตริง
ฉันสามารถใช้สิ่งนี้: String str = "TextX Xto modifyX"; str = str.replace('X','');//that does not work because there is no such character '' มีวิธีลบอักขระที่เกิดขึ้นทั้งหมดXจากสตริงใน Java หรือไม่? ฉันลองสิ่งนี้และไม่ใช่สิ่งที่ฉันต้องการ: str.replace('X',' '); //replace with space
311 java  string  character 

8
เมื่อใดที่ใช้ AtomicReference ใน Java
เราจะใช้เมื่อไหร่AtomicReference? จำเป็นต้องสร้างวัตถุในโปรแกรมแบบมัลติเธรดทั้งหมดหรือไม่? ระบุตัวอย่างง่ายๆที่ควรใช้ AtomicReference

20
JPA hashCode () / เท่ากับ () ขึ้นเขียง
มีการบาง อภิปรายนี่เกี่ยวกับหน่วยงานและที่ JPA hashCode()/ equals()การดำเนินงานควรจะใช้สำหรับการเรียน JPA นิติบุคคล ส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) ขึ้นอยู่กับ Hibernate แต่ฉันต้องการจะพูดคุยเกี่ยวกับ JPA-Implement-neutrally (ฉันใช้ EclipseLink) การนำไปใช้งานที่เป็นไปได้ทั้งหมดนั้นมีข้อดีและข้อเสียของตัวเองเกี่ยวกับ: hashCode()/ ความequals()สอดคล้องตามสัญญา(ไม่เปลี่ยนแปลง) สำหรับList/ Setการดำเนินงาน ไม่ว่าจะเป็นวัตถุที่เหมือนกัน (เช่นจากเซสชันที่แตกต่างกันพร็อกซีไดนามิกจากโครงสร้างข้อมูลที่โหลดแบบ lazily) สามารถตรวจพบได้ ไม่ว่าเอนทิตีจะทำงานอย่างถูกต้องในสถานะแยกออก (หรือไม่คงอยู่) เท่าที่ฉันเห็นมีสามตัวเลือก : อย่าแทนที่พวกเขา; พึ่งพาObject.equals()และObject.hashCode() hashCode()/ equals()งาน ไม่สามารถระบุวัตถุที่เหมือนกันปัญหาเกี่ยวกับพร็อกซีแบบไดนามิก ไม่มีปัญหากับเอนทิตี้เดี่ยว แทนที่พวกเขาขึ้นอยู่กับคีย์หลัก hashCode()/ equals()ถูกทำลาย ตัวตนที่ถูกต้อง (สำหรับองค์กรที่มีการจัดการทั้งหมด) ปัญหาเกี่ยวกับหน่วยงานเดี่ยว แทนที่พวกเขาตามBusiness-Id (เขตข้อมูลคีย์ที่ไม่ใช่หลัก; สิ่งที่เกี่ยวกับกุญแจต่างประเทศ?) hashCode()/ equals()ถูกทำลาย ตัวตนที่ถูกต้อง (สำหรับองค์กรที่มีการจัดการทั้งหมด) ไม่มีปัญหากับเอนทิตี้เดี่ยว คำถามของฉันคือ: ฉันพลาดตัวเลือกและ …


3
ฟังก์ชั่นการใช้งานใน Scala คืออะไร?
ฉันไม่เคยเข้าใจจากคำนามที่ไม่ได้พูดและไม่จริง ( AddTwoชั้นมีตัวอย่างapplyที่เพิ่มสอง!) ฉันเข้าใจว่ามันเป็นน้ำตาลซินแทคติคดังนั้น (ฉันอนุมานจากบริบท) มันต้องได้รับการออกแบบมาเพื่อให้โค้ดบางอย่างใช้งานง่ายขึ้น คลาสที่มีapplyฟังก์ชั่นให้ความหมายอะไร? ใช้เพื่ออะไรและมีจุดประสงค์อะไรในการปรับปรุงโค้ดให้ดีขึ้น (unmarshalling, verbing นาม ฯลฯ ) มันช่วยได้อย่างไรเมื่อใช้ในวัตถุที่แสดงร่วม
311 scala 


23
วิธีการมีตัวเลือกเริ่มต้นในกล่องเลือก Angular.js
ฉันค้นหา Google และไม่พบสิ่งใดในสิ่งนี้ ฉันมีรหัสนี้ <select ng-model="somethingHere" ng-options="option.value as option.name for option in options" ></select> ด้วยข้อมูลบางอย่างเช่นนี้ options = [{ name: 'Something Cool', value: 'something-cool-value' }, { name: 'Something Else', value: 'something-else-value' }]; และผลผลิตก็เป็นแบบนี้ <select ng-model="somethingHere" ng-options="option.value as option.name for option in options" class="ng-pristine ng-valid"> <option value="?" selected="selected"></option> <option value="0">Something Cool</option> <option …



12
กิจกรรมที่เกิดซ้ำ / ทำซ้ำปฏิทิน - วิธีการเก็บข้อมูลที่ดีที่สุด
ฉันกำลังสร้างระบบเหตุการณ์ที่กำหนดเองและหากคุณมีเหตุการณ์ซ้ำที่มีลักษณะเช่นนี้: กิจกรรม A ซ้ำทุก 4 วันเริ่มตั้งแต่ 3 มีนาคม 2554 หรือ กิจกรรม B ซ้ำทุก 2 สัปดาห์ในวันอังคารเริ่มตั้งแต่วันที่ 1 มีนาคม 2011 ฉันจะเก็บสิ่งนั้นไว้ในฐานข้อมูลในลักษณะที่จะทำให้ง่ายต่อการค้นหา ฉันไม่ต้องการปัญหาเกี่ยวกับประสิทธิภาพหากมีเหตุการณ์จำนวนมากและฉันต้องผ่านแต่ละเหตุการณ์เมื่อเรนเดอร์ปฏิทิน

10
ทำให้วัตถุเป็นสตริง
ฉันมีวิธีการดังต่อไปนี้เพื่อบันทึก Object เป็นไฟล์: // Save an object out to the disk public static void SerializeObject<T>(this T toSerialize, String filename) { XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType()); TextWriter textWriter = new StreamWriter(filename); xmlSerializer.Serialize(textWriter, toSerialize); textWriter.Close(); } ฉันยอมรับว่าฉันไม่ได้เขียน (ฉันแปลงเป็นวิธีส่วนขยายที่ใช้พารามิเตอร์ประเภท) ตอนนี้ฉันต้องการมันเพื่อให้ xml กลับมาให้ฉันเป็นสตริง (แทนที่จะบันทึกลงในไฟล์) ฉันกำลังมองหา แต่ฉันยังไม่ได้คิดออก ฉันคิดว่ามันอาจจะง่ายสำหรับคนที่คุ้นเคยกับวัตถุเหล่านี้ ถ้าไม่ฉันจะคิดออกในที่สุด


22
ข้อผิดพลาด 1396 (HY000): การดำเนินการ CREAT USER ล้มเหลวสำหรับ 'jack' @ 'localhost'
ฉันดูเหมือนจะไม่สามารถสร้างผู้ใช้แบบง่าย ๆ ที่ฉันได้ลบไปแม้ในขณะที่รูทใน MySQL กรณีของฉัน: มีผู้ใช้ 'แจ็ค' อยู่ก่อนหน้านี้ แต่ฉันลบมันออกจาก mysql.user เพื่อสร้างใหม่ ฉันไม่เห็นร่องรอยของสิ่งนี้ในตารางนั้น ถ้าฉันใช้คำสั่งนี้กับชื่อผู้ใช้สุ่ม ๆ พูดว่า 'jimmy' มันใช้งานได้ดี (เหมือนเดิมที่ใช้กับ 'jack') ฉันได้ทำอะไรกับ 'แจ็ค' ของผู้ใช้ที่เสียหายและฉันจะยกเลิกการคอร์รัปชั่นนั้นได้อย่างไรเพื่อสร้าง 'แจ็ค' ใหม่ในฐานะผู้ใช้ที่ถูกต้องสำหรับการติดตั้ง MySQL นี้ ดูตัวอย่างด้านล่าง (แน่นอนว่าเดิมมีเวลามากระหว่างการสร้าง 'แจ็ค' และการถอดเขา) mysql> CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123'; Query OK, 0 rows affected (0.00 sec) mysql> select user,host from user; +------------------+-----------------+ …

18
ย้ายทั้งบรรทัดขึ้นและลงในกลุ่ม
ใน Notepad ++ ฉันสามารถใช้Ctrl+ Shift+ Up/ Downเพื่อย้ายบรรทัดปัจจุบันขึ้นและลง มีคำสั่งที่คล้ายกันนี้ในกลุ่ม? ฉันดูคำแนะนำไม่รู้จบ แต่ไม่พบสิ่งใดเลย หากไม่มีฉันจะผูกการกระทำกับชุดค่าผสมที่สำคัญได้อย่างไร แก้ไข: คำตอบของ Mykola ใช้ได้กับทุกบรรทัดนอกเหนือจากที่จุดเริ่มต้นและจุดสิ้นสุดของบัฟเฟอร์ การย้ายบรรทัดแรกขึ้นหรือบรรทัดล่างลงลบบรรทัดและเมื่อย้ายบรรทัดล่างขึ้นมันจะกระโดดสองช่องว่างในตอนแรกเช่นจำนำ! ใครสามารถเสนอการปรับแต่งใด ๆ ได้บ้าง
311 vim  vi 

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