คำถามติดแท็ก skills

คำถามเกี่ยวกับความสามารถของเทคโนโลยีหรือความสามารถเฉพาะ ตัวอย่างอาจมีความเชี่ยวชาญใน C # หรือข้อกำหนดในการรวบรวม

2
คุณจะรักษาทักษะพื้นฐานของคุณให้ลีบได้อย่างไร? [ปิด]
การเข้ารหัสเป็นเพียงด้านเดียวสำหรับการเขียนโปรแกรมมืออาชีพ งานของฉันต้องการให้ฉันรหัส แต่ก็ยังต้องการให้ฉันทำสิ่งอื่น ๆ เป็นระยะเวลานาน - บางครั้งวันหรือสัปดาห์ไปโดยเมื่อฉันไม่ได้เป็นเพียงแค่การเข้ารหัส ฉันกลัวที่จะปล่อยให้ทักษะการเขียนโปรแกรมฝ่อชนะยากในขณะที่ฉันนั่งประชุมวาดแผนภาพสถาปัตยกรรมและทำหมายเหตุประกอบ (ไม่พูดถึงฉันไม่เชื่อใจคนที่จะเขียนข้อกำหนดที่ไม่เข้าใจรหัส) ฉันไม่สามารถอ่านหนังสือและนิตยสารเกี่ยวกับการเข้ารหัสได้ ฉันมีส่วนร่วมในโครงการโอเพ่นซอร์สในเวลาว่างของฉันและ stackoverflow และเพื่อน ๆ ช่วยฉันเล็กน้อยเพราะฉันได้รับโอกาสช่วยเหลือผู้คนในการแก้ปัญหาการเขียนโปรแกรมโดยไม่ใช้ micromanaging แต่สิ่งเหล่านี้ไม่ได้มีโครงสร้างที่ดีนัก ก่อนอื่นเกี่ยวกับปัญหาที่ฉันสามารถแก้ไขได้อย่างง่ายดาย ฉันเดาว่าสิ่งที่ฉันต้องการค้นหาคือชุดของแบบฝึกหัดที่มีโครงสร้าง (ไม่สนใจภาษาหรือสภาพแวดล้อม) ที่ ... …ฉันสามารถทำได้เป็นระยะ …มีความต้องการเวลาบางอย่างดังนั้นฉันสามารถบอกได้ว่าฉันทำผิดพลาดหรือไม่ …มีการให้คะแนนบางอย่างดังนั้นฉันสามารถบอกได้ว่าฉันทำผิดพลาดหรือไม่ มีอะไรแบบนี้เหรอ? คุณจะทำอย่างไรเพื่อรักษาทักษะของคุณให้สดชื่น

6
ทำไมโปรแกรมเมอร์ที่ดีถึงเรียกว่านินจา? [ปิด]
โปรแกรมเมอร์นินจาถูกกำหนดอย่างไร? หากเป็นเพียงนักพัฒนาที่มีประสบการณ์แล้วไม่มีวิธีที่ดีกว่าในการอธิบายสิ่งนั้นหรือไม่? นินจาฟังดูเหมือนเป็นลูกตลาดที่ออกแบบมาเพื่อดึงดูดนักพัฒนาด้วยความหลงผิดของตนเอง หรือฉันกำลังพลาดอะไรอยู่? โดยเฉพาะฉันต้องการทราบว่าคุณสมบัติของ Ninja เป็นที่ต้องการในโปรแกรมเมอร์ที่ทำให้การเปรียบเทียบมีผล (นอกเหนือจากปัจจัยความเท่)? ฉันได้พบบทความนี้ซึ่งทำให้การเปรียบเทียบที่ดีระหว่างลักษณะนินจาและการพัฒนาความคล่องตัว อย่างไรก็ตามฉันต้องการที่จะได้ยินจากคนที่ใช้คำว่า Ninja เพื่อการจ้างงานและแรงจูงใจของพวกเขาอยู่ข้างหลัง อัปเดต:มีการให้คะแนนที่ดีมากมายทั้งสองด้านของการโต้แย้ง ฉันได้พยายามที่จะสรุปเหล่านี้ในการโพสต์บล็อกของฉัน ฉันเลือกคำตอบของ JB ว่าเป็นคำตอบที่ยอมรับได้เพราะมันสรุปเหตุผลที่ถูกต้องทั้งหมดเพื่อทำการเปรียบเทียบ

7
เกิดอะไรขึ้นกับการเป็นรหัสลิง? (หรือรหัสลิงคืออะไร) [ปิด]
โปรแกรมเมอร์มักจะพูดถึงการเป็น "รหัสลิง" ในลักษณะที่เสื่อมเสีย "ไม่ทำงานที่นั่นคุณแค่เป็นลิงรหัส!" ฉันมีสองข้อเสนอสำหรับงานหนึ่งที่ บริษัท ขนาดเล็กหนึ่งที่ บริษัท ขนาดใหญ่มาก (เงินเดือนเดียวกัน) เพื่อนของฉันเพิ่งบอกฉันว่าฉันจะเป็นลิงรหัสที่ บริษัท ขนาดใหญ่และรู้จากประสบการณ์โดยตรงว่า บริษัท เล็ก ๆ จะได้รับผลตอบแทนมากกว่าการลดฉันให้เป็น "รหัสลิง" ฉันไม่เข้าใจความแตกต่างระหว่าง "รหัสลิง" และโปรแกรมเมอร์ "ของจริง" กรุณาอธิบายอย่างละเอียด ฉันชอบการเขียนโปรแกรมดังนั้นสำหรับฉันแล้วความคิดที่จะนั่งอยู่ที่การเขียนโปรแกรมคอมพิวเตอร์ (เช่นรหัสลิง) นั้นดูไม่เลวเลย โปรแกรมเมอร์หมายถึงอะไรโดย "รหัสลิง" ถ้าเขา / เธอสนุกกับการเขียนโปรแกรม?

11
การพูดถึงบล็อกของฉันเกี่ยวกับเรซูเม่ที่เป็นประโยชน์หรือเป็นอันตรายต่อการหางานหรือไม่? [ปิด]
ฉันมีบล็อกที่ฉันใช้เป็นหลักในการบันทึกการแก้ไขปัญหาที่ฉันมีซึ่งฉันมีปัญหาในการหาคำตอบ ปัญหาส่วนใหญ่ที่เอกสารออนไลน์ที่ฉัน googled ให้ข้อมูลมากเกินไปและฉันพบคำตอบสำหรับคำถามของฉันในหน้าห้าของการเข้าชม google ครั้งที่สามของฉัน (หรือถ้าฉันถามคำถามที่นี่ฉันก็ไม่ได้รับคำตอบหรือฉันถูกกระแทกเพราะถามคำถามว่า "คำตอบนั้นสามารถ googled ได้อย่างง่ายดาย") ฉันค้นหาข้อมูลในบล็อกนี้บ่อยครั้งเพื่อเตือนตัวเองว่าฉันแก้ไขปัญหาได้อย่างไรและได้รับจำนวนครั้งที่ยอดเยี่ยมจากผู้อื่นเช่นกัน อย่างไรก็ตามฉันสงสัยว่าการพูดถึงบล็อกนี้ในประวัติการทำงานของฉันจะช่วยหรือทำร้ายฉันในการหางานหรือไม่? หัวข้ออยู่ทั่วแผนที่ สิ่งที่ฉันหวังว่าจะแสดงก็คือ ฉันเป็นคนที่ค้นหาวิธีการแก้ไขปัญหา ฉันใช้เทคโนโลยีที่แตกต่างในการทำงาน ฉันไม่กลัวที่จะจัดการกับความท้าทาย สิ่งที่ฉันกังวลก็คือมันแสดงให้เห็นว่า บุคคลนี้มีปัญหากับบางสิ่งที่เรียบง่ายใช่ไหม เหตุใดบุคคลนี้จึงรบกวนบล็อกสิ่งนี้

11
นักพัฒนาซอฟต์แวร์ควรถูกบังคับให้จำรายละเอียดหรือไม่? [ปิด]
หลายครั้งที่ฉันลืมสิ่งต่าง ๆ เกี่ยวกับแอปพลิเคชันของฉัน ฉันจำชื่อตารางไม่ได้หรือมีการสืบค้นอะไรและฉันค้นหาเพื่อให้ได้สิ่งที่ต้องการ หัวหน้าทีมของฉันบอกฉันว่าฉันควรจะจดจำชื่อตารางที่ฉันใช้ นักพัฒนาจำเป็นต้องจดจำชื่อตารางในฐานข้อมูลชื่อคลาส ฯลฯ หรือไม่? และถ้าคำตอบคือ "ใช่ตลอดเวลา" ฉันควรทำอย่างไรเพื่อจำสิ่งเหล่านั้น
33 skills 

19
“ ครึ่งหนึ่งของทุกสิ่งที่คุณรู้ว่าจะล้าสมัยใน 18-24 เดือน” = (จริงหรือเท็จ?) [ปิด]
เพียงวิ่งข้ามสิ่งนี้และสงสัยว่าใครมีวิธีที่จะพิสูจน์หรือพิสูจน์ข้อความนี้: สิ่งที่ต้องจำไว้ ... ครึ่งชีวิตของความรู้ในเทคโนโลยีขั้นสูงคืออะไร? มันติดตามด้วยกฎของมัวร์: ครึ่งหนึ่งของทุกสิ่งที่คุณรู้ว่าจะล้าสมัยใน 18-24 เดือน ที่มา:ภายในคำตอบของCraig Traderสำหรับคำถามนี้ " อะไรคือสิ่งที่มีประสิทธิภาพมากที่สุดในการพัฒนาทักษะการเขียนโปรแกรมของคุณ "
33 skills 

7
จะหางานที่ไม่มีประสบการณ์ได้อย่างไร? [ปิด]
ฉันกำลังจะสำเร็จการศึกษาระดับวิทยาลัยใหม่และฉันกำลังพยายามฝึกงานหรือตำแหน่งวิศวกรซอฟต์แวร์ jr อย่างไรก็ตามฉันไม่เคยมีประสบการณ์ในสาขานี้เลย ทั้งหมดที่ฉันจะได้คือปริญญาของฉันและโครงการในชั้นเรียนที่ฉันทำเสร็จ ฉันจะทำให้ประวัติย่อของฉันน่าสนใจยิ่งขึ้นเพื่อที่ฉันจะได้สัมภาษณ์ได้อย่างไร นอกจากนี้ฉันจะจัดโครงสร้างรายละเอียดของโครงงานในชั้นเรียนได้อย่างไร? ฉันควรให้รายละเอียดมากมาย
32 skills 

16
คุณคิดว่าการเปิดรับ BASIC สามารถทำลายจิตใจของคุณหรือไม่? [ปิด]
มันเป็นไปไม่ได้ในทางปฏิบัติที่จะสอนการเขียนโปรแกรมที่ดีให้กับนักเรียนที่มีการเปิดเผยก่อนหน้าพื้นฐาน: เป็นโปรแกรมเมอร์ที่มีศักยภาพพวกเขาจะถูกทำลายจิตใจจิตใจเกินความหวังของการฟื้นฟู - Edsger W. Dijkstra ฉันมีความเคารพอย่างลึกซึ้งต่อ Dijkstra แต่ฉันไม่เห็นด้วยกับทุกสิ่งที่เขาพูด / เขียน ฉันไม่เห็นด้วยเป็นพิเศษกับใบเสนอราคานี้ในบทความที่เชื่อมโยงเขียนเมื่อ 35 ปีที่แล้วเกี่ยวกับการใช้งานดาร์ทเมาท์เบสิค เพื่อนร่วมงานหรือโปรแกรมเมอร์ของฉันหลายคนเริ่มต้นด้วย BASIC คำถามด้านล่างมีคำตอบที่ระบุว่าโปรแกรมเมอร์หลายคนมีประสบการณ์ครั้งแรกในการเขียนโปรแกรมที่ BASIC AFAIK โปรแกรมเมอร์ที่ดีหลายคนเริ่มต้นที่การเขียนโปรแกรมพื้นฐาน ฉันไม่ได้พูดถึง Visual Basic หรือภาษา "ทันสมัย" อื่น ๆ ของ BASIC ที่ทำงานบนเครื่องที่เต็มไปด้วยทรัพยากร ฉันกำลังพูดถึง BASIC รุ่นเก่าที่ทำงานบนคอมพิวเตอร์ "ของเล่น" ที่โปรแกรมเมอร์ต้องกังวลเกี่ยวกับการบันทึกตัวเลขขนาดเล็กที่ไม่จำเป็นต้องคำนวณเป็นสตริงเพื่อบันทึกไบต์ที่เลวร้ายเพราะคอมพิวเตอร์มีเพียงไม่กี่ร้อยหรือ ต้องใช้ goto ที่คำนวณได้เนื่องจากขาดคุณสมบัติที่มีประสิทธิภาพมากกว่าและสิ่งอื่น ๆ อีกมากมายที่ผู้เขียนโปรแกรมต้องคิดมากก่อนที่จะทำอะไรบางอย่างและบังคับให้โปรแกรมเมอร์มีความคิดสร้างสรรค์ หากคุณเคยมีประสบการณ์กับ BASIC แบบเก่าบนเครื่องที่มีทรัพยากร จำกัด (จำไว้ว่าไมโครคอนโทรลเลอร์ที่เรียบง่ายในปัจจุบันมีทรัพยากรมากกว่าคอมพิวเตอร์ในปี 1975 คุณคิดว่า BASIC ช่วยให้จิตใจของคุณหาวิธีแก้ปัญหาที่ดีกว่า เช่นวิศวกรหรือเบสิกลากคุณไปยังด้านมืดของการเขียนโปรแกรมและทำลายจิตใจคุณไหม? …

10
การเข้าถึงสถานะการเขียนโปรแกรมระดับกลาง [ปิด]
ฉันเป็นวิศวกรซอฟต์แวร์ที่มีตำแหน่งการเขียนโปรแกรมใน VBA (แม้ว่าฉันจะไม่พิจารณาประสบการณ์ที่ 'จริง' เพราะมันเป็นรุ่นทดลองใช้และข้อผิดพลาด!), Perl w / CGI, C # และ ASP.NET สองหลังเป็นระดับปริญญาตรีโดยที่ฉันเข้าสู่ 'โลกแห่งความจริง' ฉันออกจากวิทยาลัย 2 ปีและมีประสบการณ์ 5 ปี (รวม) ในภาษาที่ฉันพูดถึง อย่างไรก็ตามเมื่อพูดถึงประวัติการทำงานของฉันฉันสามารถวาง C # ลงเพียง 2 ปีเท่านั้นและน้อยกว่าหนึ่งปีสำหรับ ASP.NET ฉันรู้สึกว่าฉันรู้ C # แต่ฉันยังต้องใช้เวลาในการดำเนินการ 'วิธีการนี้ทำอะไร?' ในขณะที่วิศวกรระดับสูงกว่าบางคนสามารถพูดได้ทันที "โอ้วิธี X ทำสิ่งนี้โดยไม่ต้องดูเลย วิธีการก่อน " ดังนั้นฉันจึงรู้ด้วยสังเกตุว่ามีอ่าวอยู่ตรงนั้น แต่ฉันไม่แน่ใจว่าจะเชื่อมมันอย่างไร ฉันเริ่มเขียนโปรแกรมในProject Eulerแล้วฉันก็หยิบหนังสือเกี่ยวกับรูปแบบการออกแบบ แต่ฉันก็ยังรู้สึกว่าฉันใช้น้ำในแต่ละวันมากกว่าจะก้าวไปข้างหน้า ไม่ได้หมายความว่าฉันไม่รู้สึกว่าตัวเองก้าวหน้าไปแค่หมายความว่าถ้าฉันมาทุกวันฉันก็ยังเห็นยอดเขาอยู่ไกล ๆ คำถามของฉันคือ: คุณเอาชนะที่ราบสูงนี้ได้อย่างไร มันใช้เวลานานเท่าไหร่ …

2
จะอธิบายระดับทักษะของคุณใน CV ได้อย่างไร? [ปิด]
มีคำอะไรที่เป็นไปได้ / มาตรฐานในการอธิบายระดับความสามารถของคุณในภาษาการเขียนโปรแกรมที่แตกต่างกันในประวัติส่วนตัวของคุณ? ฉันใช้สามสิ่งต่อไปนี้: ผู้เชี่ยวชาญ สูง ผู้เริ่ม ฉันไม่ได้พิจารณาตัวเองว่าเป็นผู้เชี่ยวชาญในภาษาการเขียนโปรแกรมใด ๆ ดังนั้นฉันจึงจัดหมวดหมู่ทักษะทั้งหมดของฉันไม่ว่าจะเป็นระดับเริ่มต้นหรือระดับสูง อย่างไรก็ตามฉันต้องการแยกแยะเพิ่มเติม โดยเฉพาะอย่างยิ่งฉันกำลังมองหาบางสิ่งบางอย่างระหว่างขั้นสูงและผู้เชี่ยวชาญ ข้อเสนอแนะใด ๆ หรือฉันไม่ควรที่จะแยกแยะรายละเอียดเพิ่มเติมอีก
31 skills 

4
ทักษะคณิตศาสตร์เบื้องต้นสำหรับหนังสือ Introduction to Algorithms (CLRS) หนังสือ [ปิด]
ฉันมีความรู้เกี่ยวกับอัลกอริทึมพื้นฐานแล้ว ตอนนี้ผมวางแผนที่จะศึกษาขั้นตอนวิธีการล่วงหน้ามากขึ้นและฉันตัดสินใจไปกับรู้เบื้องต้นเกี่ยวกับอัลกอริทึม ฉันไม่แน่ใจฉันต้องรีเฟรชทักษะคณิตศาสตร์ก่อนอ่านหนังสือเล่มนี้หรือไม่? (ฉันลืมคณิตศาสตร์เกือบทั้งหมดที่ฉันเรียนในโรงเรียนมัธยมและวิทยาลัย) หากหนังสือเล่มนี้ต้องการความรู้ด้านคณิตศาสตร์ที่แข็งแกร่งโปรดแนะนำวิชาที่ได้รับประโยชน์ ฉันต้องการเรียนรู้เกี่ยวกับการใช้งานการออกแบบและการวิเคราะห์อัลกอริทึม

16
การอยู่ในตำแหน่งนี้จะส่งผลกระทบต่ออาชีพการงานของฉันหรือไม่? [ปิด]
ฉันทำงานที่ บริษัท ซอฟต์แวร์ขนาดเล็กที่เจ้าของเป็นผู้จัดการด้วย ความกังวลของฉันคือการที่ทุกคนและทุกความก้าวหน้าทางเทคโนโลยีจะพบกับการดูถูกที่สุดโดยการจัดการ ความคิดเห็นบางส่วนมีดังนี้: LINQ, nHibernate และ ORM เป็นแบบฝึกหัดการเขียนโปรแกรมที่ไม่ดีเราจะไม่ใช้มัน แอปพลิเคชันขนาดใหญ่ส่วนใหญ่ยังคงเขียนใน VB6 เว็บเป็นเรื่องเสียเวลาไม่ใช่เว็บแอพพลิเคชั่น ทุกครั้งที่มีการพัฒนาซอฟต์แวร์รุ่นใหม่ออกมาฉันต้องฟังการจัดการบ่นเกี่ยวกับมันเป็นเวลาหลายชั่วโมง เทคโนโลยีเช่น WPF, WCF, MVC และ Entity จะถูกมองข้ามอย่างสมบูรณ์ ทั้งหมดที่กล่าวว่ามันไม่ใช่สถานที่ที่น่ากลัวในการทำงานค่าจ้างเฉลี่ยและอยู่ใกล้กับบ้าน ความกังวลของฉันคือแม้ว่าเราใช้เทคนิค. NET รุ่นล่าสุด แต่เราแทบจะไม่ใช้เทคโนโลยีล่าสุด แต่เราอาจใช้. NET 1 ถ้าฉันตัดสินใจย้าย "ประสบการณ์" นี้จะ จำกัด อาชีพของฉันให้ฉลาดหรือไม่? ฉันอยู่ที่นี่มาสองสามปีแล้ว แก้ไข: ฉันรู้สึกขอบคุณจริงๆสำหรับการตอบสนองที่ยอดเยี่ยม ฉันคิดว่ามันอาจเป็นไปเพื่อผลประโยชน์ของฉันอย่างแท้จริง

8
อะไรคือข้อดีของการพัฒนาด้วยเทคโนโลยีที่ล้าสมัย? [ปิด]
พื้นหลังเล็กน้อย : ฉันทำงานที่ บริษัท ใหญ่โดยใช้ Windows XP และการเข้ารหัส Winforms ใน VB6 / VB.Net และ WebForms บางส่วนใน VB.Net (รหัสบำรุงรักษา 95%) ฉันมีหน้าจอขนาด 4: 3 19 "หนึ่ง Windows รุ่นใหม่ที่ทันสมัยกว่านี้ไม่ได้เกิดขึ้นเร็ว ๆ นี้ไม่มีเสียงกรีนฟิลด์ใด ๆ ทำงานตามเสียงของมัน! ฉันไม่ได้บอกอะไรเกี่ยวกับสิ่งนี้เมื่อฉันเข้าร่วม บริษัท ฉันเข้าใจผิดว่าฉันจะทำงานกับเทคโนโลยีและกรอบการทำงานที่ทันสมัยมากขึ้น ฉันมีประสบการณ์ที่ทันสมัยมากขึ้นจากงานก่อนหน้านี้ทั้งกับกรอบการทำงานที่ทันสมัยและภาษาการเขียนโปรแกรมอื่น ๆ และเมื่อฉันติดต่อกับเพื่อนนักพัฒนาจาก บริษัท อื่น ๆ ทั้งหมดที่ฉันได้ยินคือพวกเขาใช้เฟรมเวิร์ก ASP MVC ล่าสุดหรือ Vagrant / Ruby on Rails / etc …
28 skills  legacy 

7
ทักษะ C ++ สูงกว่าทักษะ C หรือไม่ [ปิด]
ฉันรู้สึกว่า C / C ++ ที่เห็นบ่อย ๆ ไม่ได้อธิบายทักษะของฉันในประวัติย่อของฉัน ดังนั้นฉันวางแผนที่จะแยกมันออกเป็นความรู้ C ++ ขั้นสูงและทักษะ C ปานกลาง คุณคิดว่าสิ่งนี้ทำให้ผู้อ่านสับสนหรือไม่? เธออาจคิดว่า: "C เป็นเซตย่อยของ C ++ ดังนั้นผู้ชายคนนี้จึงพยายามโทรหาฉัน" สิ่งที่ฉันพยายามจะบอกคือ: ฉันได้ทำโครงการ C ++ ในโลกแห่งความเป็นจริงในขณะที่โครงการ C ล้วนๆซึ่งเป็นงานอดิเรก คุณเห็นด้วยหรือไม่ว่าโปรแกรมเมอร์ C ++ ที่มีทักษะไม่จำเป็นต้องเป็นคนที่มีคุณสมบัติ C หรือคุณคิดว่าสวิตช์นี้สามารถทำได้อย่างง่ายดายหรือไม่?
28 c++  c  skills 

6
Dijkstra หมายความว่าอย่างไรเมื่อเขาแนะนำผู้เชี่ยวชาญที่ดีเยี่ยมเป็นพิเศษเกี่ยวกับภาษาแม่ของตน [ปิด]
Dijkstra เขียนที่นี่ : นอกจากความชอบทางคณิตศาสตร์แล้วความเชี่ยวชาญที่ยอดเยี่ยมของภาษาแม่ของคน ๆ หนึ่งคือทรัพย์สินที่สำคัญที่สุดของโปรแกรมเมอร์ที่มีความสามารถ ฉันไม่เข้าใจส่วนหลังของคำพูดนี้ คุณช่วยอธิบายหรืออธิบายอย่างละเอียดได้ไหม? ป.ล. ฉันโตมาที่อินเดีย ฉันพูดภาษาเบงกาลีที่บ้าน ฉันพูดภาษามาราธีในชุมชนที่ฉันอาศัยอยู่ ภาษาฮินดีเป็นภาษาประจำชาติและพูดอย่างกว้างขวางดังนั้นฉันจึงรู้ว่าและในโรงเรียนและวิทยาลัยฉันถูกสอนด้วยภาษาอังกฤษเป็นภาษาแรก แน่นอนว่าตอนนี้ผมคิดว่าในความหลากหลายของภาษาและผมต้องยอมรับว่าผมไม่ได้มีความเชี่ยวชาญมากกว่าใด ๆ สิ่งนี้ส่งผลกระทบต่อความถนัดในการเขียนโปรแกรมของฉันหรือไม่? ถ้าใช่เป็นอย่างไร และจะมีผู้ใดแก้ปัญหา ?
28 skills 

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