สิ่งตีพิมพ์ในหัวข้อ 'software-architecture'
การแบ่งปันทรัพยากรส่วนหน้าในระบบกระจายอำนาจของ Fiverr
Fiverr สร้างความสมดุลระหว่างการแบ่งปันทรัพยากรและความเป็นอิสระของส่วนประกอบในระบบส่วนหน้าแบบกระจายอำนาจ
สถาปัตยกรรมส่วนหน้าของเราที่ Fiverr กำหนดแอปพลิเคชันเกตเวย์หลายรายการ โดยให้บริการประสบการณ์ "แนวตั้ง" แต่ละประเภทธุรกิจจะสร้างหน้าเว็บจากหลายองค์ประกอบจากแหล่งที่มาที่หลากหลาย ซึ่งมีสภาพแวดล้อมรันไทม์เดียวกัน — หน้าต่าง หรือ ขอบเขตทั่วโลก
ในองค์กรของเรา ส่วนประกอบจำนวนมากเหล่านี้ใช้สแต็กเทคโนโลยีที่คล้ายกันอย่างยิ่ง (React, Redux, Lodash…) แต่เรายังคงต้องการให้พวกมันเป็นอิสระ..
การออกแบบระบบของแอพ Uber — สถาปัตยกรรมระบบ Uber
เป็นเรื่องง่ายมากเพียงแตะปุ่มบนโทรศัพท์มือถือของเรา รถแท็กซี่ก็พร้อมให้บริการภายในไม่กี่นาทีทุกที่ทุกเวลาที่เราต้องการ Uber/Ola /Lyft … การใช้แอปพลิเคชันเหล่านี้และรับบริการขนส่งที่ไม่ยุ่งยากนั้นง่ายมาก แต่ การสร้างแอปพลิเคชันขนาดยักษ์เหล่านี้ก็เป็นเรื่องง่ายเช่นกัน ซึ่งมีวิศวกรซอฟต์แวร์หลายร้อยคนทำงานเกี่ยวกับแอปพลิเคชันเหล่านี้มานานนับทศวรรษ …? ไม่อย่างแน่นอน. ระบบเหล่านี้มีสถาปัตยกรรมที่ซับซ้อนกว่ามาก และมีส่วนประกอบมากมายที่รวมเข้าด้วยกันภายในเพื่อให้บริการขี่ทั่วโลก..
ระบบส่วนประกอบเอนทิตีใน Elixir
Entity-Component-System (ECS) เป็นรูปแบบการออกแบบสถาปัตยกรรมแบบกระจายและจัดองค์ประกอบซึ่งส่วนใหญ่ใช้ในการพัฒนาเกม ช่วยให้สามารถแยกพฤติกรรมเฉพาะโดเมนได้อย่างยืดหยุ่น ซึ่งเอาชนะข้อเสียหลายประการของการสืบทอดเชิงวัตถุแบบดั้งเดิม
Elixir คือภาษาแบบไดนามิกและใช้งานได้จริงซึ่งสร้างขึ้นจาก Erlang VM ซึ่งออกแบบมาเพื่อสร้างแอปพลิเคชันที่ปรับขนาดได้และบำรุงรักษาได้
ในบทความนี้ ค้นพบว่าเราสามารถใช้ทั้ง ECS และ Elixir..
สถาปัตยกรรมสำหรับทุกคน
มีคนพูดคำสถาปัตยกรรมที่น่ากลัวและคุณไม่ใช่สถาปนิกใช่ไหม
กลัวเมื่อมีคนท้าทายความเข้าใจของคุณเกี่ยวกับความซับซ้อนในการคำนวณเมื่อคุณพยายามทำเพียงแค่วางวิดเจ็ตไว้บนหน้าเว็บใช่ไหม อย่ากลัวเลย มันอาจไม่ซับซ้อนหรือซับซ้อนเท่าที่คุณคิด
สถาปัตยกรรมมีชื่อเสียงในด้านที่ไม่สามารถเข้าถึงได้ มีการควบคุมประตู และเป็น "วิทยาการคอมพิวเตอร์ที่ยาก" สถาปัตยกรรมซอฟต์แวร์ส่วนใหญ่ที่คุณพบสำหรับเว็บแอประดับปานกลางถึงระดับเว็บนั้นมีความคล้ายคลึงกันอย่างน่าประหลาดใจ เราจะครอบคลุมพื้นฐาน ศัพท์เฉพาะบางส่วน..
ฉันจะออกแบบอย่างไร… YouTube หรือ Netflix!
การสาธิตการออกแบบระบบ
ผู้ชม
บทความนี้เป็นบทความถัดไปในชุดของฉันเกี่ยวกับวิธีที่ฉันจะออกแบบแอปพลิเคชันยอดนิยม ขอแนะนำ (แม้ว่าจะไม่จำเป็นทั้งหมด) ให้อ่านโพสต์ก่อนหน้านี้ที่ฉันรวบรวมไว้อย่างเป็นประโยชน์ในรายการ "ที่นี่"
เราคาดว่าจะมีความคุ้นเคยขั้นพื้นฐานเกี่ยวกับหลักการสถาปัตยกรรมและ AWS แต่หวังว่าวิศวกรส่วนใหญ่เข้าถึงโพสต์นี้ได้
การโต้แย้ง
ขั้นแรก มาดูคำชี้แจงปัญหาของเรากัน
ระบบการออกแบบ
เราหวังที่จะออกแบบแพลตฟอร์มวิดีโอตามความต้องการ เช่น "YouTube" หรือ "Netflix"..
รหัสที่เป็นมิตรกับคอมไพเลอร์: คำหลักที่ปิดผนึกใน .NET C#
ปฏิบัติที่ดีที่สุด
รหัสที่เป็นมิตรกับคอมไพเลอร์: คำหลักที่ปิดผนึกใน .NET C#
เหตุใดและเมื่อปิดผนึกคำหลักอาจนำไปสู่การเพิ่มประสิทธิภาพใน .NET C#
การเขียนโค้ดที่เป็นมิตรกับคอมไพเลอร์หมายความว่าอย่างไร
รหัส .NET ใดๆ ผ่านมากกว่าหนึ่งเฟสจนกระทั่งถึงรหัสเครื่องในที่สุด เนื่องจากมีปัจจัยหลายอย่างที่เกี่ยวข้องกับกระบวนการนี้ จึงอาจมีรายละเอียดมากมายที่เราพลาดไปเมื่อเราเขียนโค้ดครั้งแรก
อย่างไรก็ตาม ยิ่งโค้ดที่เราเขียนชัดเจนและกำหนดได้ชัดเจนยิ่งขึ้น..
ความลับของหลักการความรับผิดชอบเดียว
กลับสู่พื้นฐาน
ความลับของหลักการความรับผิดชอบเดียว
ค้นพบความลับเกี่ยวกับหลักการความรับผิดชอบเดี่ยว (SRP) ของหลักการ SOLID
นักพัฒนาเกือบทั้งหมดที่ทำงานกับภาษา Object Oriented Programming (OOP) รู้เกี่ยวกับหลักการ SOLID
หลักการที่มั่นคง
S หลักการความรับผิดชอบเดียว O หลักการปิดปากกา หลักการทดแทน L iskov ฉัน เชื่อมต่อหลักการแบ่งแยก D หลักการผกผันแบบซ้ำซ้อน
ในบทความนี้ เราจะอธิบาย S ของ S OLID, หลักการความรับผิดชอบเดี่ยว อย่างไรก็ตาม คุณจะอ่านอะไรที่นี่..