คอลเล็กชั่นล่าสุดของความสามารถในการพัฒนาและพัฒนาแบ็กเอนด์ C ++ ในปี 2023, โพสต์บล็อกที่ยอดเยี่ยม 1,000 โพสต์รวมถึงหน่วยความจำ, เครือข่าย, การออกแบบสถาปัตยกรรม, ประสิทธิภาพสูง, โครงสร้างข้อมูล, ส่วนประกอบพื้นฐาน, มิดเดิลแวร์, แจกจ่ายที่เกี่ยวข้อง
1.1.1 [โครงสร้างข้อมูล] คำอธิบายที่ดีที่สุดของต้นไม้สีแดงและสีดำในประวัติศาสตร์ช่วยให้คุณเข้าใจต้นไม้สีแดงและสีดำได้อย่างเต็มที่
1.1.2 การแนะนำรายละเอียดเกี่ยวกับหลักการและอัลกอริทึมของต้นไม้สีแดงและสีดำ (1)
1.1.3 การใช้ภาษา C ของต้นไม้สีแดงและสีดำ (สอง)
1.1.4 การใช้งานแบบคลาสสิกของต้นไม้สีแดงและสีดำในเคอร์เนล Linux: ต้นไม้สีแดงและสีดำ
1.1.5 คำอธิบายโดยละเอียดของต้นไม้ B
1.1.6 ความสัมพันธ์ระหว่าง B-Tree, B-Tree, B+Tree, B*Tree
1.1.7 ต้นไม้ B+ คืออะไร? (ภาพประกอบโดยละเอียด)
1.1.8 B+ รายละเอียดต้นไม้
1.1.9 การแนะนำ TCP/IP
1.2.1 ที่อยู่ CP/IP
1.2.2 CPIP Protocol.md
1.2.3 TCPIP Mail
1.2.4 หลักการปรับสมดุลโหลด Nginx และกรณีคลาสสิกในทางปฏิบัติ
1.2.5 รูปแบบแพ็คเก็ต TCP: ทำไม TCP จึงจำเป็นต้องติดและแกะกล่อง?
1.2.6 ความสัมพันธ์ระหว่างการส่งเครือข่ายและการรับและเหตุการณ์ Nginx
1.2.7 การวิเคราะห์ซอร์สโค้ด Nginx และการปฏิบัติ --- การเขียนโมดูล HTTP อย่างง่าย
1.2.8 เหตุใดแพ็คเก็ต SYN จึงถูกส่งโดยลูกค้าที่ถูกทิ้งในระหว่างการจับมือสามครั้ง?
1.2.9 ทำไมต้องใช้ TCP Keepalive? รหัส CC ++ ใช้ TCP Keepalive
1.3.1 สรุปรายละเอียดสุดยอดของการใช้ STL ใน C ++ (ระดับคอลเลกชัน)
1.3.2 เชี่ยวชาญกรอบทดสอบหน่วยโอเพ่นซอร์สของ Google ในบทความเดียว
1.3.3 กลไก IO แบบอะซิงโครนัสประสิทธิภาพสูง: io_uring
1.3.4 "ตรวจสอบข้อบกพร่องและเติมช่องว่าง" เพื่อรวบรวมระบบความรู้ Nginx ของคุณ
1.3.5 ความเข้าใจอย่างถ่องแท้เกี่ยวกับหลักการและแอปพลิเคชันของโปรโตคอล WebSocket ในบทความเดียว (i)
1.3.6 บทนำสู่ MakeFile (เข้าใจในบทความเดียวในรายละเอียด)
1.3.7 เริ่มต้นจากสถาปัตยกรรม CPU อธิบายอย่างชัดเจนถึงการกำหนดเวลาและการจัดการกระบวนการ Linux
1.3.8 [แนวทาง] การเรียนรู้ DPDK คุณต้องรู้หลักการของการ์ดเครือข่ายหลายคิว
1.3.9 NETMAP กรอบใหม่สำหรับแพ็คเก็ตที่รวดเร็ว io
1.4.1 [เพิ่มความรู้] Tencent, JD.com และ Iqiyi ทั้งหมดใช้ DPDK
1.4.2 บทความนี้ช่วยให้คุณเข้าใจความสัมพันธ์ระหว่างหน่วยความจำและ CPU
1.4.3 ทำไมต้องใช้ TCP Keepalive? รหัส CC ++ ใช้ TCP Keepalive
1.4.4 การวิเคราะห์หลักการของ NAT ที่เข้าใจง่ายที่สุดหากคุณไม่เข้าใจ
1.4.5 พูดคุยเกี่ยวกับสิ่งที่มีแนวโน้มมากขึ้น CC ++ หรือ Java
1.4.6 เชี่ยวชาญกรอบทดสอบหน่วยโอเพนซอร์สของ Google ในบทความเดียว
1.4.7 ระบบปฏิบัติการ Linux เชิงลึก - วิธีการจัดสรรหน่วยความจำใน Malloc?
1.4.8 การแก้ไขปัญหาและการแก้ปัญหา "หายไป" ในการส่งข้อมูลและการรับสัญญาณ TCP
1.4.9 พื้นที่หน่วยความจำถูกครอบครองมากแค่ไหนเมื่อเชื่อมต่อ TCP
1.5.1 300 บรรทัดของรหัสจะนำคุณไปใช้ระบบไฟล์ Linux
1.5.2 กระบวนการทั้งหมดของการแก้ปัญหาการรั่วไหลของหน่วยความจำเคอร์เนล Linux ในครั้งเดียว
1.5.3 ภาพประกอบของหลักการพื้นฐานของเครือข่ายทั่วไป IO, ซ็อกเก็ต, epoll, สถานะเคอร์เนลสถานะผู้ใช้
1.5.4 ปัญหาที่ต้องให้ความสนใจเมื่อใช้ coroutines ในการพัฒนา C ++
1.5.5 เข้าใจกระบวนการจัดตั้งการเชื่อมต่อ TCP ในเชิงลึก (3 handshakes)
1.5.6 นี่คือการวิเคราะห์กลุ่มหน่วยความจำ Nginx ที่มีรายละเอียดมากที่สุดที่ฉันเคยเห็น
1.5.7 หลักการและการใช้ต้นไม้สีแดงและสีดำ
1.5.8 การอภิปรายสั้น ๆ เกี่ยวกับหลักการดำเนินการของ NIO และ Epoll
1.5.9 การเพิ่มประสิทธิภาพประสิทธิภาพของ Linux - หน่วยความจำในเชิงปฏิบัติ
1.6.1 ทำความเข้าใจกับ Gateway Middleware ในบทความเดียว - Nginx
1.6.2 คำถามสัมภาษณ์ Redis: ประเภทข้อมูลพื้นฐานและโครงสร้างการจัดเก็บข้อมูลพื้นฐาน
1.6.3 ในบทความนี้เราจะได้เรียนรู้เกี่ยวกับล็อคแบบกระจาย
1.6.4 เป็นโปรแกรมเมอร์วัยกลางคนในปี 2565 เขียนถึงตัวตนอายุ 35 ปี
1.6.5 กลไกการจัดการเหตุการณ์ของ Redis ที่ทำให้ผู้คนเข้าใจในไม่กี่วินาที
1.6.6 เข้าใจรุ่น IO ห้ารุ่นภายใต้ Linux ในบทความเดียว
1.6.7 การออกแบบและการดำเนินการตามกรอบ C ++ Coroutine ที่พัฒนาขึ้นเองสำหรับเทอร์มินัล WeChat
1.6.8 สรุปประสบการณ์ในการสร้างระบบพร้อมกันที่สูง
1.6.9 15 ปีของทหารผ่านศึก Tencent พูดคุยเกี่ยวกับการเติบโตของบุคลากรด้านเทคนิค
1.7.1 คิวข้อความแบบกระจาย
1.7.2 การอภิปรายสั้น ๆ เกี่ยวกับพื้นฐานของ MongoDB
1.7.3 CHATGPT ยอดนิยมของผู้ใช้ที่ลงทะเบียนมากกว่าหนึ่งล้านคนในเวลาเพียง 5 วัน?
1.7.4 เข้าใจ Linux-io จากศูนย์คัดลอก
1.7.5 การเรียนรู้เชิงลึกเกี่ยวกับหลักการการใช้งานของ SelectPollepoll ใน IO Multiplexing
1.7.6 refactoring ของรหัสบรรพบุรุษมากกว่าสิบปีที่ผ่านมา - จาก 250,000 ถึง 50,000 บรรทัด
1.7.7 บทสรุปของคำถามสัมภาษณ์ Bytedance-แบ็กเอนด์ C ++ (รวมถึงคำตอบ)
1.7.8 Baidu C ++ R&D Engineer Asgerseted Aterview คำถาม (การรวบรวมล่าสุด)
1.7.9 คำอธิบายโดยละเอียดเกี่ยวกับหลักการทางเทคนิคของ Linux Zero-Copy
1.8.1 โครงสร้างข้อมูลและอัลกอริทึม: หลักการและการใช้งานของตัวกรอง Bloom
1.8.2 หลักการพื้นฐาน: การวิเคราะห์ซอร์สโค้ด epoll หากคุณยังไม่เข้าใจ epoll อ่านมัน
1.8.3 เฟรมเวิร์กเซิร์ฟเวอร์เกม-หลักการออกแบบและการใช้ Skynet
1.8.4 คำถามสัมภาษณ์: UDP ที่เชื่อถือได้ในการเขียนโปรแกรมเครือข่าย Linux, โปรโตคอล KCP ที่เร็วที่สุดอยู่ที่ไหน?
1.8.5 ความท้าทายที่หันหน้าไปทางซ็อกเก็ต?
1.8.6 การแก้ไขปัญหาและการแก้ปัญหา "หายไป" ในการส่งและรับข้อมูลใน TCP
1.8.7 ห่อหุ้มแผนที่และตั้งค่าด้วยต้นไม้สีแดงและสีดำ
1.8.8 เธรดจะสลับในระบบปฏิบัติการ Linux ได้อย่างไร (การสลับภายในในสถานะผู้ใช้)
1.8.9 กิจวัตรการวิเคราะห์ประสิทธิภาพของระบบ IO ภายใต้ Linux
1.9.1 บทที่เครือข่ายเกี่ยวกับการเพิ่มประสิทธิภาพประสิทธิภาพของ Linux
1.9.2 ระบบปฏิบัติการ Linux จัดการการเชื่อมต่อ TCP ได้อย่างไร
1.9.3 วิศวกรอาวุโสจะพาคุณไปสำรวจการจัดการหน่วยความจำ C ++ (บททฤษฎี)
1.9.4 รหัสที่มีไหวพริบ
1.9.5 การวิเคราะห์หลักการของ WeChat Libco Coroutine Library
1.9.6 วิธีการสร้าง SDK เกรดเชิงพาณิชย์สำหรับลูกค้าองค์กร
1.9.7 แนวคิดการออกแบบเบื้องหลังคิวข้อความ
1.9.8 การทำความเข้าใจ @Decorator Decorator - พื้นฐานของการทำความเข้าใจกับรหัสแหล่งที่มาของรหัสกับรหัส
1.9.9 ผู้ที่ศึกษา C ++ สามารถทำงานได้ในอนาคต
2.1.1 ใช้เวลา 1 เดือน, ข้อมูลการปฏิบัติหลายพันคำ, คำอธิบายโดยละเอียดเกี่ยวกับประเด็นทางเทคนิคหลักของการสัมภาษณ์ Tencent (T1-T9) และคัดแยกคำถามสัมภาษณ์
2.1.2 เกี่ยวกับ [Zero Sound Education] 2022 รุ่นที่ 12 CC ++ Linux Server Development ประสบการณ์การเรียนรู้หลักสูตรสถาปนิกขั้นสูง
2.1.3 เส้นทางการเรียนรู้การพัฒนาเสียงและวิดีโอที่มีรายละเอียดมากที่สุดในเครือข่ายทั้งหมดในปี 2565 จากศูนย์ศูนย์ไปจนถึงการฝึกซ้อมโครงการตั้งแต่มือใหม่ไปจนถึงผู้เชี่ยวชาญด้านเสียงและวิดีโอ
2.1.4 ไลบรารีประสิทธิภาพสูง DPDK ความเข้าใจที่คล่องตัว
2.1.5 พาคุณไปเรียนรู้เกี่ยวกับนักเทียบท่าและ Kubernetes อย่างรวดเร็ว
2.1.6 การอภิปรายสั้น ๆ เกี่ยวกับการเข้ารหัส protobuf
2.1.7 คำอธิบายโดยละเอียดของแนวคิดพื้นฐาน GRPC
2.1.8 กลุ่มที่น่าตกใจในเชิงลึกและง่ายต่อการเข้าใจ: ปรากฏการณ์สาเหตุและวิธีแก้ปัญหา
2.1.9 สรุปการดำเนินงานที่สมบูรณ์ที่สุดของ Nginx
2.2.1 พาคุณไปเรียนรู้เกี่ยวกับนักเทียบท่าและ Kubernetes อย่างรวดเร็ว
2.2.2 การสนทนาสั้น ๆ เกี่ยวกับการเข้ารหัส protobuf
2.2.3 คำอธิบายโดยละเอียดของแนวคิดพื้นฐาน GRPC
2.2.4 กลุ่มที่น่าตกใจในเชิงลึกและง่ายต่อการเข้าใจ: ปรากฏการณ์สาเหตุและวิธีแก้ปัญหา
2.2.5 สรุปการดำเนินการที่สมบูรณ์ที่สุดของ Nginx
2.2.6 การใช้งาน C ++ Coroutine ตาม LIBCO (Time Wheel Timer)
2.2.7 ระบบไฟล์ Linux และดิสก์ IO ทำงานอย่างไร
2.2.8 การเพิ่มประสิทธิภาพประสิทธิภาพของ Linux CPU ในทางปฏิบัติ
2.2.9 เซิร์ฟเวอร์ Linux ตรวจสอบคอขวดประสิทธิภาพ
2.3.1 นอนดึกและเรียนรู้เส้นทางการเรียนรู้โดยละเอียดสำหรับการพัฒนา C ++
2.3.2 DPDK คืออะไร? สรุปหลักการและเส้นทางการเรียนรู้ของ DPDK
2.3.3 เพื่อนร่วมชั้นการพัฒนาแบ็กเอนด์ Linux CC ++ แนะนำโดยเพื่อนร่วมงาน Tencent ยังไม่ได้สัมภาษณ์
2.3.4 ฉันใช้เวลาเพียงครึ่งปีในการไปจากโปรแกรมเมอร์ในเมืองชั้นที่สี่ไปยังสถาปนิกของโรงงานขนาดใหญ่ในเซินเจิ้น
2.3.5 คำอธิบายโดยละเอียดเกี่ยวกับหลักการ epoll [Redis, Netty, Nginx เพื่อใช้หลักการหลัก IO ที่มีประสิทธิภาพสูง
2.3.6 ทัวริงบอกว่ามันดีหลังจากอ่านบทความ Redis นี้
2.3.7 ความเข้าใจอย่างลึกซึ้งเกี่ยวกับ Kubernetes ในบทความเดียว
2.3.8 คำอธิบายโดยละเอียดเกี่ยวกับเทคโนโลยีการผสานและการแยกของคำขอ HTTP
2.3.9 บทความนี้จะช่วยให้คุณเข้าใจคลาวด์ดั้งเดิม
2.4.1 ทำไมเครื่องยนต์ที่เก็บข้อมูลดิสก์จึงใช้ B+ Tree เป็นโครงสร้างดัชนี?
2.4.2 อัลกอริทึมการแฮชที่สอดคล้องกันและการใช้งานในระบบกระจาย
2.4.3 วิธีการใช้ malloc
2.4.4 กลไก IO แบบอะซิงโครนัสและ IO_INGING ในการออกแบบเครือข่าย Linux
2.4.5 การวิเคราะห์ซอร์สโค้ด Glibc Malloc
2.4.6 การวิเคราะห์การจัดการหน่วยความจำ C ++ และปัญหาหน่วยความจำ
2.4.7 คลื่นความรู้ C ++ ขั้นสูงขนาดใหญ่โปรดยอมรับมัน!
2.4.8 ข้อดีและหลักการของพูลเธรดนั้นง่ายและชัดเจน
2.4.9 2022 Tencent C ++ R&D คำถามและคำตอบที่เป็นลายลักษณ์อักษร
2.5.1 การพัฒนาแบ็กเอนด์ C ++ ในความคิดของฉัน
2.5.2 บทนำสู่ ETCD - การวิเคราะห์แนวคิดและหลักการของ ETCD
2.5.3 คำถามสิบข้อเพื่อทำความเข้าใจว่า Linux Epoll ทำงานอย่างไร
2.5.4 การจำลองเสมือน GPU, การแยกกำลังการคำนวณและ QGPU
2.5.5 เริ่มต้นกับ Kafka
2.5.6 การฝึกเพิ่มประสิทธิภาพของเบราว์เซอร์
2.5.7 การจัดการหน่วยความจำมาสเตอร์ Linux
2.5.8 การเขียนโปรแกรมเครือข่าย Linux Zero Copy: SendFile, MMAP, Splice, Tee
2.5.9 TCP จะกลายเป็นประวัติศาสตร์หรือไม่? เพียงดูว่าโปรโตคอล QUIC ของ Google ทำอะไร
2.6.1 กลไกการล็อค MySQL
2.6.2 คำอธิบายโดยละเอียดเกี่ยวกับการทำธุรกรรม MySQL และระดับการแยก
2.6.3 สิ่งที่เกี่ยวกับการจัดการหน่วยความจำ GLIBC คืออะไร
2.6.4 สถานการณ์ความแตกต่างและการใช้งานของต้นไม้สีแดงและสีดำและต้นไม้ B+
2.6.5 บทสรุปของเส้นทางความรู้การเรียนรู้ของสถาปนิกอาวุโสของการพัฒนาเซิร์ฟเวอร์ CC ++ Linux Backend Server
2.6.6 ทักษะที่จำเป็นสำหรับการพัฒนาเซิร์ฟเวอร์แบ็กเอนด์ C ++ - พูลการเชื่อมต่อฐานข้อมูล
2.6.7 ความเข้าใจเชิงลึกเกี่ยวกับอะซิงโครนัส IO+epoll+coroutines
2.6.8 คำอธิบายโดยละเอียดเกี่ยวกับประเภทข้อมูล Redis และสถานการณ์ที่เกี่ยวข้องสำหรับ Redis (รายละเอียด)
2.6.9 เลเยอร์ OSI เจ็ดรุ่นโมเดล TCPIP และโปรโตคอลที่เกี่ยวข้อง (คำอธิบายโดยละเอียด)
2.7.1 TENCENT T9T3.1 ระดับ Backend Server Development Technology Masters ฝึกอบรมได้อย่างไร?
2.7.2 คำอธิบายโดยละเอียดของ TCP และ UDP
2.7.3 ความรู้เบื้องต้นเกี่ยวกับเครือข่าย IO รุ่นแนะนำเครือข่าย iO ของ Nginx
2.7.4 หลักการพื้นฐานของ Nginx: แยกวิเคราะห์ว่าทำไมจำนวน Nginx ที่เกิดขึ้นพร้อมกันถึง 3W!
2.7.5 บทสรุปของคำถามสัมภาษณ์ C ++ ทั่วไปและคะแนนความรู้พื้นฐาน
2.7.6 คำถามสัมภาษณ์ Baidu (ทิศทาง C ++)
2.7.7 C ++ ไฮไลท์สัมภาษณ์ - คำถามที่ถามในการสัมภาษณ์
2.7.8 การเลือกคำถามสัมภาษณ์ทั่วไปสำหรับ CC ++
2.7.9 โซลูชันการทำธุรกรรมแบบกระจาย
2.8.1 เทคโนโลยี SIMD ที่เข้าใจ CPU ในเรื่อง
2.8.2 พูดคุยเกี่ยวกับล็อคในฐานข้อมูล
2.8.3 วิธีการเขียนโค้ด - การเขียนโปรแกรมความแข็งแกร่งภายในและวิธีการใจ
2.8.4 การปรับประสิทธิภาพให้เหมาะสมเท่าไหร่
2.8.5 Linux Jianghu Series สรุปขั้นตอน
2.8.6 หลักการของการเจาะเครือข่าย P2P NAT, NAT, การรุก
2.8.7 ซิงโครนัสและอะซิงโครนัสโทรกลับและ coroutines
2.8.8 ผู้เชี่ยวชาญ Linux พูดคุยเกี่ยวกับวิธีการเรียนรู้ Linux และการพัฒนาอาชีพของ Linux
2.8.9 การทำความเข้าใจ MySQL—— ดัชนีและการเพิ่มประสิทธิภาพ
2.9.1 การวิเคราะห์ซอร์สโค้ด Skynet: บริการ, โมเดลนักแสดง, การเขียนโปรแกรมอินเทอร์เฟซ LUA
2.9.2 รูปแบบการออกแบบรูปแบบการออกแบบโรงงาน
2.9.3 ห่วงโซ่ต่อต้านการโจรกรรม Nginx
2.9.4 ทำความเข้าใจการเพิ่มประสิทธิภาพฐานข้อมูลในบทความเดียว
2.9.5 การวิเคราะห์เชิงลึกของหลักการทำงานของหน่วยความจำเสมือนจริง
2.9.6 Redis vs Tendis: สถาปัตยกรรมของเวอร์ชันจัดเก็บแบบผสมร้อนและเย็นเปิดเผย
2.9.7 เข้าใจสแต็กโปรโตคอล TCPIP
2.9.8 ในฐานะโปรแกรมเมอร์การพัฒนาแบ็กเอนด์ C ++ คุณควรเข้าใจหลักการของการใช้งาน Epoll อย่างละเอียด
2.9.9 หลักการและการใช้งานของ coroutines, c ++ coroutines ความเป็นจริง C ++
3.1.1 การวิเคราะห์ซอร์สโค้ด REDIS - เค้าโครงความทรงจำ
3.1.2 สิ่งจำเป็นในการพัฒนาเซิร์ฟเวอร์ - [ฐานข้อมูล] Redis Cluster
3.1.3 การตีความเชิงลึกของฐานข้อมูลภายใต้สถาปัตยกรรมแบบไม่มีเซิร์ฟเวอร์
3.1.4 สถาปัตยกรรมเว็บของ Facebook, Google, Microsoft และ Amazon เปิดเผย
3.1.5 การวิเคราะห์สั้น ๆ ของสถาปัตยกรรม Nginx
3.1.6 ทักษะการดีบักเคอร์เนล-SystemTap การวางตำแหน่งเหตุผลสำหรับการสูญเสียแพ็คเก็ต
3.1.7 ทำความเข้าใจกับประวัติการพัฒนาเทคโนโลยีเว็บทางอินเทอร์เน็ตภายในห้านาที
3.1.8 ใช้ตัวจับเวลาแบบกระจายได้อย่างรวดเร็ว
3.1.9 MySQL สรุปการเรียนรู้เชิงลึก
3.2.1 วิธีแก้ปัญหาสั้น ๆ เกี่ยวกับหลักการของโปรโตคอล QUIC
3.2.2 วิวัฒนาการของ WeChat Live Chat Room Architecture
3.2.3 แนวโน้มเทคโนโลยีแบ็กเอนด์ที่ไม่ควรพลาดในปี 2564 คืออะไร
3.2.4 โมเดลเครือข่ายแบบมัลติเธรดมัลติดิสถูกเปิดเผยอย่างสมบูรณ์
3.2.5 บทนำสู่วิวัฒนาการและกระบวนการพัฒนาและรูปแบบของเครือข่าย IO
3.2.6 ระบบปฏิบัติการและการจัดเก็บ: การแยกวิเคราะห์เครื่องยนต์ IO แบบอะซิงโครนัสใหม่ IO_ การออกแบบและการใช้งานเคอร์เนล Linux
3.2.7 เราต้องการฐานข้อมูลประเภทใดในยุคคลาวด์?
3.2.8 STGW รุ่นต่อไปทางอินเทอร์เน็ตโปรโตคอลการส่งผ่านมาตรฐานการดำเนินงานขนาดใหญ่
3.2.9 Linux: คำอธิบายโดยละเอียดเกี่ยวกับหลักการเทคโนโลยี Zero-Copy
3.3.1 [การวิเคราะห์รหัสซอร์ส] MemoryPool - การจัดสรรหน่วยความจำที่เรียบง่ายและมีประสิทธิภาพ
3.3.2 การวิเคราะห์ซอร์สโค้ดต้นไม้สีแดงและสีดำ STL
3.3.3 C ++ โครงสร้างข้อมูลและอัลกอริทึม: หลักการและการใช้งานของตัวกรอง Bloom
3.3.4 ringbuffer ข้อความคิวหน่วยความจำเพิ่มประสิทธิภาพประสิทธิภาพการทำงาน
3.3.5 หลักการและการใช้คิวฟรีล็อค Zeromq
3.3.6 เครือข่ายไม่ได้เชื่อมต่อ? บริการสูญเสียแพ็คเก็ต? บทความนี้อธิบายสถานะของการเชื่อมต่อ TCP และการแก้ไขปัญหาในรายละเอียดและเสร็จสมบูรณ์
3.3.7 การเขียนโปรแกรม Linux: ความคิดเกี่ยวกับปัญหาการหยุดชะงักที่เกิดจากการประมวลผลสัญญาณแบบอะซิงโครนัส
3.3.8 สอนให้คุณทีละขั้นตอนเพื่อใช้ส่วนประกอบลองจับของ Pure C เพื่อใช้การจับข้อยกเว้น
3.3.9 โครงสร้างซอร์สโค้ด Skynet กระบวนการเริ่มต้นและหลักการทำงานแบบมัลติเธรด
3.4.1 P2P หลักการสื่อสารและการใช้งาน (C ++)
3.4.2 Linux: บทบาทสถานการณ์แอปพลิเคชันหลักการทำงานและการใช้งาน Pool Pool Pool Pool Pool
3.4.3 [C ++] บทความหนึ่งจะช่วยให้คุณเข้าใจการจัดการหน่วยความจำแบบไดนามิกใน C ++
3.4.4 เรามักจะพูดถึงอะไรในความสัมพันธ์ระหว่างการเชื่อมต่อสั้น ๆ และการเชื่อมต่อที่ยาวนานและซ็อกเก็ตและ https?
3.4.5 Master Google C ++ หน่วยทดสอบเฟรมเวิร์ก GoogleTest ในบทความเดียว
3.4.6 คำอธิบายโดยละเอียดของโมเดลการเขียนโปรแกรมเครือข่ายเช่น Redis, Nginx, Memcached
3.4.7 [หลักการด้านล่าง] ออกจากม่านของเลเยอร์ระบบไฟล์โดยเลเยอร์เพื่อทำความเข้าใจระบบไฟล์ Linux อย่างละเอียด
3.4.8 หลักการความแตกต่างและสถานการณ์แอปพลิเคชันของล็อค mutex, ล็อคหมุนและการดำเนินการอะตอม
3.4.9 หลักการและการดำเนินการตามคำขอ DNS แบบอะซิงโครนัส
3.5.1 หลักการพื้นฐานซ็อกเก็ตคืออะไร?
3.5.2 ฐานข้อมูลการพัฒนาแบ็กเอนด์-MYSQL ที่เกี่ยวข้อง
3.5.3 ความเข้าใจและการวิเคราะห์ HTTP - TCPIP - Socket
3.5.4 C ++ โปรแกรมเมอร์แบ็กเอนด์ต้องเข้าใจ Nginx อย่างละเอียดและอธิบายรายละเอียดจากหลักการไปสู่การต่อสู้จริง
3.5.5 คำอธิบายโดยละเอียดเกี่ยวกับโมเดล IO ของ Linux และเทคโนโลยีที่เกี่ยวข้อง
3.5.6 คำอธิบายโดยละเอียดของ IO จากเครือข่ายไปยังมัลติเพล็กซิ่ง IO
3.5.7 C ++ โปรแกรมเมอร์แบ็กเอนด์ต้องเข้าใจ Nginx อย่างละเอียดจากหลักการไปจนถึงการปฏิบัติ (บทความขั้นสูง)
3.5.8 คำอธิบายโดยละเอียดเกี่ยวกับการออกแบบสระว่ายน้ำหน่วยความจำและการใช้งาน
3.5.9 การใช้มัลติเธรดและการก่อสร้างสระว่ายน้ำใน C ++
3.6.1 คำอธิบายโดยละเอียดเกี่ยวกับกลไกการล็อค MySQL
3.6.2 คำอธิบายโดยละเอียดของโปรโตคอล TCPIP
3.6.3 [เครือข่าย] [ระบบปฏิบัติการ] คำอธิบายโดยละเอียดของ Select, Poll, Epoll
แนวคิดการออกแบบเกตเวย์สถาปัตยกรรมการจราจร 364 ล้านระดับและการเปรียบเทียบเกตเวย์ทั่วไป
3.6.5 【 Redis 】ใช้ Redis เพื่อใช้งานล็อคแบบกระจาย
3.6.6 คำอธิบายโดยละเอียดเกี่ยวกับการสื่อสาร Linux IO และโมเดลเกลียวเครื่องปฏิกรณ์
3.6.7 การวิเคราะห์และการเพิ่มประสิทธิภาพของประสิทธิภาพของฐานข้อมูล MySQL
3.6.8 เลเยอร์ Nginx-Access สถาปัตยกรรม Nginx และการแนะนำโมดูล
3.6.9 การใช้งานเชิงลึกของหลักการหลักของ Linux CC ++ Timer Timer
3.7.1 ความเข้าใจในเชิงลึกเกี่ยวกับการจัดทำดัชนีและการเพิ่มประสิทธิภาพ MySQL 丨หลักการหลักของ MySQL
3.7.2 การวิเคราะห์สแต็กโปรโตคอล Perf-Network
3.7.3 แนวคิดการออกแบบมัลติเพล็กซ์และเครื่องปฏิกรณ์ Epoll
3.7.4 การวิเคราะห์ตัวอย่างวิธีการตรวจจับการรั่วไหลของหน่วยความจำ Linux
3.7.5 คำอธิบายโดยละเอียดเกี่ยวกับคิวข้อความฟรีล็อคของส่วนประกอบพื้นฐาน Linux
3.7.6 ซ็อกเก็ตหลักการพื้นฐานคือซ็อกเก็ตคืออะไร
3.7.7 Minanchrocking ที่ไม่ปิดกั้นแบบอะซิงโครนัสของ Nginx อยู่ที่ไหน จากการวิเคราะห์เชิงทฤษฎีไปจนถึงการตรวจสอบซอร์สโค้ด
3.7.8 REDIS: 6.0 การออกแบบที่ปราศจากล็อคแบบมัลติเธรดและโหมดเครื่องปฏิกรณ์แบบมัลติเธรดช่วย REDIS QPS ในระดับที่สูงขึ้น
3.7.9 มองลงไปที่ Nginx จากโหมดเครื่องปฏิกรณ์คุณจะพบว่าช่องว่างระหว่างคุณกับต้นแบบอยู่ในโหมดการออกแบบ
3.8.1 โมเดลเครือข่ายแบบมัลติเธรดมัลติดิสถูกเปิดเผยอย่างสมบูรณ์
3.8.2 บทนำสู่วิวัฒนาการและกระบวนการพัฒนาและรูปแบบของเครือข่าย IO
3.8.3 ระบบปฏิบัติการและการจัดเก็บ: การแยกวิเคราะห์เครื่องยนต์ IO แบบอะซิงโครนัสใหม่ IO_ การออกแบบและการใช้งานเคอร์เนล Linux
3.8.4 เราต้องการฐานข้อมูลประเภทใดในยุคคลาวด์?
3.8.5 STGW รุ่นต่อไปทางอินเทอร์เน็ตโปรโตคอลการส่งผ่านมาตรฐานการดำเนินงานขนาดใหญ่
3.8.6 โมเดลเครือข่ายแบบมัลติเธรดมัลติดิสถูกเปิดเผยอย่างสมบูรณ์
3.8.7 บทนำสู่วิวัฒนาการและกระบวนการพัฒนาและรูปแบบของเครือข่าย IO
3.8.8 ความรู้เบื้องต้นเกี่ยวกับหลักการรวบรวมสำหรับผู้เริ่มต้น
3.8.9 หลักการพื้นฐานของระบบกระจาย
3.9.1 บทนำสู่ Kubernetes และการต่อสู้เชิงปฏิบัติขั้นสูง
3.9.20,000 คำอธิบายรายละเอียด: วิธีการพัฒนากราฟความรู้ขนาดใหญ่
3.9.3 การอภิปรายสั้น ๆ เกี่ยวกับวิธีการสร้างระบบความรู้
3.9.4 ทำไม WeChat จึงแนะนำอย่างรวดเร็ว?
39.5 พันคำข้อความโดยละเอียดจะบอกวิธีการตรวจสอบรหัส
3.9.6 HTTP3 หลักการต่อสู้เชิงปฏิบัติ
3.9.7 Coroutines และ C ++ 20 รายงานการวิจัย coroutine พื้นเมือง
3.9.8 สถาปัตยกรรมการเรียนรู้ตั้งแต่เริ่มต้น (ตอนที่ 1)
3.9.9 C ++ แบบอะซิงโครนัสจากทฤษฎีสู่การฝึกฝน - ภาพรวม
4.1.1 การเลือกและการเปรียบเทียบส่วนประกอบข้อมูลขนาดใหญ่และสถาปัตยกรรม
4.1.2 เส้นทางการสำรวจเคอร์เนลที่เกิดจากการโหลด CPU สูง
4.1.3 (แนะนำให้รวบรวม) บทความยาวหมื่นคำยาวสรุปการทำธุรกรรมแบบกระจายมีหนึ่งที่เหมาะสมสำหรับคุณเสมอ
4.1.4 MySQL เขียนการวิเคราะห์การจำลองแบบแบบขนาน
4.1.5 การอภิปรายอย่างละเอียดเกี่ยวกับกลไกการล็อค MySQL จากคำถามสัมภาษณ์ฐานข้อมูล
4.1.6 การเรียนรู้สถาปัตยกรรมตั้งแต่เริ่มต้น (ตอนที่ 2)
4.1.7 C ++ รหัสบรรทัดเดียวเพื่อใช้งานฟังก์ชั่นระบบใด ๆ
4.1.8 วิธีบันทึกบันทึกการดำเนินการอย่างสง่างาม?
4.1.9 สคริปต์ของ Meituan การสร้างการก่อสร้างมาตรฐานและแอปพลิเคชันตามกราฟความรู้
4.2.1 การก่อสร้างและการประยุกต์ใช้กราฟความรู้เกี่ยวกับผลิตภัณฑ์ meituan
4.2.2 การปฏิบัติของ GraphQL และสถาปัตยกรรมที่ขับเคลื่อนด้วยข้อมูลเมตาใน BFF BFF BFF
4.2.3 Meituan Takeaway ข้อมูลการก่อสร้างคลังสินค้าแบบเรียลไทม์
4.2.4 การสำรวจและฝึกฝนการเพิ่มประสิทธิภาพประสิทธิภาพของ FlutterWeb
4.2.5 การออกแบบและการดำเนินงานของ Shepherd ซึ่งเป็นบริการเกตเวย์ API 10 พันล้าน
4.2.6 การฝึกฝนการสร้างแบบจำลองทางธุรกิจในการเรียงลำดับการค้นหา meituan
4.2.7 ความรู้เบื้องต้นเกี่ยวกับกรอบการทดสอบหน่วยและการปฏิบัติที่ Meituan Preferred
4.2.8 เครื่องมือที่สามารถเพิ่มความเร็วในการรวบรวมโครงการ iOS ขนาดใหญ่ได้ 50%
4.2.9 พื้นฐานของ CMAKE ส่วนที่ 1 ความรู้แรกของ CMAKE
4.3.1 การแยกและการแปล CMAKE BASICS ส่วนที่ 2
4.3.2 CMAKE BASICS ส่วนที่ 3 ห้องสมุดคงที่
4.3.3 CMAKE BASICS ส่วนที่ 4 Dynamic Library
4.3.4 CMAKE BASICS ส่วนที่ 5 โครงการติดตั้ง
4.3.5 CMAKE BASICS ส่วนที่ 6 ประเภทรุ่น
4.3.6 CMAKE BASICS ส่วนที่ 7 การรวบรวมธง
4.3.7 CMAKE BASICS ส่วนที่ 8 มีห้องสมุดบุคคลที่สาม
4.3.8 CMAKE BASICS ส่วนที่ 9 รวบรวมด้วย Clang
4.3.9 CMAKE BASICS ส่วนที่ 10 สร้างโดยใช้นินจา
4.4.1 CMAKE BASICS ส่วนที่ 9 รวบรวมด้วย Clang
4.4.2 CMAKE BASICS ส่วนที่ 10 สร้างโดยใช้นินจา
4.4.3 CMAKE BASICS ส่วนที่ 11 วัตถุประสงค์นำเข้าวัตถุประสงค์
4.4.4 CMAKE BASICS ส่วนที่ 12 การตั้งค่ามาตรฐาน C ++
4.4.5 CMAKE BASICS ส่วนที่ 13 การก่อสร้างโครงการย่อย
4.4.6 CMAKE พื้นฐานส่วนที่ 14 การแทนที่ตัวแปรในไฟล์
4.4.7 CMAKE BASICS ส่วนที่ 15 ใช้ protobuf เพื่อสร้างไฟล์ต้นฉบับ
4.4.8 CMAKE BASICS ส่วนที่ 16 สร้างไฟล์ DEB
4.4.9 CMAKE BASICS ส่วนที่ 17 เครื่องวิเคราะห์เสียงดัง
4.5.1 CMAKE BASICS ส่วนที่ 18 เฟรมเวิร์กการทดสอบหน่วย BOOST
4.5.2 คำอธิบายโดยละเอียดของรุ่น IO เครือข่ายห้ารุ่น
4.5.3 Redis ไม่ได้อ้างว่ามีประสิทธิภาพมากในเธรดเดียว?
4.5.4 สถานการณ์ล่าสุดของ c ++ coroutines รายละเอียดและการตัดสินใจในการออกแบบและการดำเนินการ
4.5.5 ความแตกต่างระหว่างโหลดบาลานซ์ของชั้นเครือข่ายทั้งสี่และเจ็ดชั้น
4.5.6 การวิเคราะห์ซอร์สโค้ด Redis
4.5.7 หลักการ IO พื้นฐานที่โปรแกรมเมอร์การพัฒนาส่วนหลังต้องเข้าใจอย่างถี่ถ้วน
4.5.8 การเขียนโปรแกรมเครือข่าย Linux - คำอธิบายโดยละเอียดของโปรโตคอล UDP และ TCP
4.5.9 ขึ้นอยู่กับหลักการพื้นฐานเข้าใจการจัดการหน่วยความจำของเคอร์เนล Linux
4.6.1 ภาพประกอบของวิธีการทำงานของ epoll และหลักการของการใช้งาน epoll
4.6.2 ฐานข้อมูลใดที่ใช้โดยการพัฒนา back-end เพื่อจัดเก็บข้อมูลตอนนี้?
4.6.3 คำอธิบายโดยละเอียดเกี่ยวกับหลักการมัลติเธรด Redis
4.6.4 ปีทำงานเส้นทางการเติบโตเทคโนโลยีขั้นสูง จะเป็นสถาปนิกได้อย่างไร?
4.6.5 หลักการการใช้งานที่อยู่เบื้องหลังฟังก์ชั่น Malloc - Memory Pool
4.6.6 การเพิ่มประสิทธิภาพดัชนี MySQL อย่างลึกซึ้ง: ดัชนีหลายคอลัมน์
4.6.7 C ++ เฟรมเวิร์กเซิร์ฟเวอร์ประสิทธิภาพสูง-คำอธิบายรายละเอียดของระบบบันทึก
4.6.8 พักสายและเส้นทางการเรียนรู้โดยละเอียดสำหรับการพัฒนา C ++
4.6.9 DPDK คืออะไร? สรุปหลักการและเส้นทางการเรียนรู้ของ DPDK
4.7.1 เพื่อนร่วมชั้นการพัฒนาแบ็กเอนด์ Linux CC ++ แนะนำโดยเพื่อนร่วมงาน Tencent ยังไม่ได้สัมภาษณ์
4.7.2 ฉันใช้เวลาเพียงครึ่งปีในการไปจากโปรแกรมเมอร์ในเมืองชั้นที่สี่ไปยังสถาปนิกของโรงงานขนาดใหญ่ในเซินเจิ้น
4.7.3 คำอธิบายโดยละเอียดเกี่ยวกับหลักการหลักของ IO ที่มีประสิทธิภาพสูงโดย Redis, Netty และ Nginx
4.7.4 การวิเคราะห์สั้น ๆ เกี่ยวกับสถานะการปิดและสถานะ close_wait ของ TCP
4.7.5 Linux Network Performance Optimization-C10K, C1000K, สรุปปัญหา C10M
4.7.6 ฟังก์ชั่นการโทรกลับ C คืออะไร? วิธีใช้ฟังก์ชั่นการโทรกลับ?
4.7.7 คำถามสัมภาษณ์ Tencent: วิธีลดข้อมูล 1 พันล้าน? ต้นไม้สีแดงและสีดำถึงแฮชถึงตัวกรองสีบลอนด์
4.7.8 การดูการจัดการหน่วยความจำ Linux ไม่ให้เข้าสู่สถานะเคอร์เนล
4.7.9 พูดคุยเกี่ยวกับบทบาทของ coroutines จาก 6 โหมด IO
4.8.1 ข้อมูลจะถูกห่อหุ้มทีละขั้นตอนจากกระบวนการแอปพลิเคชันที่เลเยอร์แอปพลิเคชันไปยังแพ็กเก็ตเครือข่ายสุดท้ายได้อย่างไร จะแยก TCP ได้อย่างไร? วิธีการ Shard IP?
4.8.2 พูดคุยเกี่ยวกับหลักการของโปรโตคอล QUIC
4.8.3 โครงสร้างข้อมูลพื้นฐานของ Redis และหลักการดำเนินการพื้นฐาน
4.8.4 คำอธิบายการพัฒนาแบ็กเอนด์ Linux ของการออกแบบตัวจับเวลา
4.8.5 C ++ แนวทางการพัฒนาเซิร์ฟเวอร์ขนาดใหญ่ประสิทธิภาพสูง
4.8.6 GRPC C ++ การพัฒนาสภาพแวดล้อมการพัฒนา
4.8.7 การเพิ่มประสิทธิภาพประสิทธิภาพของการจับมือกันสามครั้ง TCP
4.8.8 redis7.0 ซอร์สโค้ดการอ่าน: IO multithreading ใน redis (พูลเธรด)
4.8.9 การพัฒนา Linux C/C ++: Multithreaded พร้อมกันล็อค: Mutex, Spin Lock, Atomic Operation, CAS
4.9.1 วิธีการทำความเข้าใจ coroutines อย่างละเอียดในการพร้อมกันในฐานะโปรแกรมเมอร์
4.9.2 Redis แข็งแกร่งมาก? วิธีเพิ่มประสิทธิภาพประสิทธิภาพ?
4.9.3 ผู้สัมภาษณ์ Tencent ใช้ "B+ Tree" ทรมานฉัน
4.9.4 การวิเคราะห์ระดับมืออาชีพสุดยอดของสถาปัตยกรรมพื้นฐานและหลักการทำงานของระบบไฟล์ Linux
4.9.5 สาระสำคัญของ Epoll บริการประสิทธิภาพสูงของ Linux นั้นไม่ง่ายจริงๆ (รวมถึงซอร์สโค้ดอินสแตนซ์)
4.9.6 สรุปสถานการณ์การรั่วไหลของหน่วยความจำทั่วไปหลายประการในการพัฒนา C ++
4.9.7 พูลเธรดเขียนด้วยลายมือและการวิเคราะห์ประสิทธิภาพ
4.9.8 บทสรุปของรุ่น Redis6.0 Multi-Threaded
4.9.9 ความแตกต่างระหว่างการซิงโครไนซ์กระบวนการการแยกร่วมกันและการสื่อสารความแตกต่างระหว่างกระบวนการและการซิงโครไนซ์เธรด
5.1.1 การออกแบบที่ขับเคลื่อนด้วยเหตุการณ์การเรียนรู้ผ่าน Redis
5.1.2 โซลูชันสำหรับการรับข้อมูลที่ไม่สมบูรณ์ของการสื่อสาร TCP
5.1.3 ภาพประกอบ | เปิดเผยความลึกลับของ coroutines
5.1.4 ไฟล์ io stack คุณรู้หรือไม่
5.1.5 วิธีการใช้พูลเธรดที่สมบูรณ์ด้วยรหัส 300 บรรทัด
5.1.6 เริ่มต้นจากปัญหาออนไลน์อธิบายคิวการเชื่อมต่อแบบกึ่งการเชื่อมต่อ TCP และคิวการเชื่อมต่อแบบเต็มในรายละเอียด
5.1.7 การวิเคราะห์สั้น ๆ เกี่ยวกับวิธีการสื่อสารระหว่างกระบวนการ (รวมถึงซอร์สโค้ดอินสแตนซ์)
5.1.8 เครื่องมือการจับแพ็คเก็ตเครือข่ายรายละเอียดสุดยอดคู่มือผู้ใช้ TCPDump
5.1.9 ปรากฎว่า MMAP นั้นง่ายมาก
5.2.1 ความเข้าใจในเชิงลึกของ HTTP Reverse Proxy (Nginx)
5.2.2 C ++ ใช้ protobuf เพื่อใช้การทำให้เป็นอนุกรมและ deserialization
5.2.3 คำอธิบายโดยละเอียดเกี่ยวกับหลักการและกลไกของ Redis
5.2.4 วิธีการค้นหาความล้มเหลวของการสูญเสียแพ็คเก็ตเครือข่าย? วิธีแก้ปัญหา?
5.2.5 คำอธิบายโดยละเอียดเกี่ยวกับพื้นที่ที่อยู่กระบวนการของ Linux และเค้าโครงหน่วยความจำกระบวนการ
5.2.6 การอภิปรายสั้น ๆ เกี่ยวกับ coroutines ที่ซ้อนและ coroutines stackless
5.2.7 การเพิ่มประสิทธิภาพประสิทธิภาพของ Nginx (บทสรุปของเลือดอาเจียน)
5.2.8 คำอธิบายโดยละเอียดเกี่ยวกับกระบวนการสื่อสาร TCP และการเชื่อมต่อ TCP ยาวและสั้น
5.2.9 การสื่อสารระหว่างกระบวนการสำหรับการเขียนโปรแกรมระบบ Linux: หน่วยความจำที่ใช้ร่วมกัน
5.3.1 สาเหตุของการรั่วไหลของหน่วยความจำวิธีหลีกเลี่ยงการรั่วไหลของหน่วยความจำ? วิธีค้นหาการรั่วไหลของหน่วยความจำ?
5.3.2 การวิเคราะห์เชิงลึกเกี่ยวกับเหตุผลของจำนวนมากของ close_wait ออนไลน์จำนวนมาก
5.3.3 เข้าใจรัฐต่าง ๆ และการแก้ไขปัญหาในการเชื่อมต่อ TCP ในบทความเดียว
5.3.4 ระบบสถาปัตยกรรมเพลงความพร้อมใช้งานสูง
5.3.5 QQ Browser Resevance Fract
5.3.6 การเพิ่มประสิทธิภาพแบบสอบถาม Query การแนะนำรายละเอียด
5.3.7 ประสิทธิภาพของ Tencent Cloud OCR ดีขึ้น 2 ครั้ง
5.3.8 เข้าใจการเพิ่มประสิทธิภาพฐานข้อมูลของฐานข้อมูลในบทความเดียว
5.3.9 การโทรข้ามภาษา C ++ ภายใต้ Linux
5.4.1 การวิเคราะห์อัจฉริยะและการวินิจฉัยความผิดปกติของฐานข้อมูล
5.4.2 แนวคิดการสร้างมาตรฐานและการฝึกฝนสถาปัตยกรรมที่ประกอบใน BFAL-End BFF
5.4.3 คำแนะนำการเพิ่มประสิทธิภาพแบบสอบถามช้าตามต้นทุน
5.4.4 สองหรือสามสิ่งในรูปแบบการออกแบบ
5.4.5 ความสามารถหลักและสถานการณ์แอปพลิเคชันของการสื่อสารทันที IM
5.4.6 การใช้งานและการประยุกต์ใช้เทคโนโลยี Player Cube Cube Tencent Cloud
5.4.7 AXP-QUIC: Adaptive X-Channel Quic Network Acceleration
5.4.8 การเพิ่มประสิทธิภาพ SRS5: วิธีการเพิ่มประสิทธิภาพ DVR สองเท่า
5.4.9 การอัพเกรดการกำหนดค่า SRS ความสามารถในการกำหนดค่าที่เป็นมิตรกับคลาวด์
5.5.1 โมเดลเธรดสำหรับการเขียนโปรแกรมเครือข่ายเซิร์ฟเวอร์ Linux
5.5.2 การเปรียบเทียบระหว่าง Tencent และ Alibaba
เซิร์ฟเวอร์ 5.5.3 IM (ข้อความโต้ตอบแบบทันที)
5.5.4 บทความนี้จะช่วยให้คุณเข้าใจว่าเซิร์ฟเวอร์ที่มีประสิทธิภาพสูงถูกนำไปใช้ในโรงงานขนาดใหญ่ที่มีหลายพันล้านพร้อมกันพร้อมกัน
5.5.5 คุณเข้าใจวิธีการให้แน่ใจว่ามีความสอดคล้องระหว่าง Redis และ MySQL หรือไม่?
5.5.6 พัฒนาโดย Redisson เพื่อตระหนักถึงการวิเคราะห์รหัสแหล่งล็อคแบบกระจายและการตีความ
5.5.7 พูดคุยเกี่ยวกับความเข้าใจของรุ่น IO ที่แตกต่างกัน (การปิดกั้น IO ที่ไม่ปิดกั้น
5.5.8 การเปรียบเทียบ Redis และ Memcache
5.5.9 คุณรู้สาเหตุที่ Nginx มีประสิทธิภาพหรือไม่?
5.6.1 ความเข้าใจในเชิงลึกเกี่ยวกับหลักการ protobuf และการปฏิบัติทางวิศวกรรม
5.6.2 จาก Tiktok ถึง Volcano Engine - ดูวิวัฒนาการและโอกาสของเทคโนโลยีการสตรีมสื่อ
5.6.3 เครือข่ายการส่งสัญญาณแบบเรียลไทม์ Alibaba Cloud Global GRTN-การเพิ่มประสิทธิภาพ QOE
5.6.3 การฝึกฝนและการใช้งานเทคโนโลยีและการใช้งานเทคโนโลยีในต่างประเทศของ Tencent Cloud
5.6.3 การเข้ารหัสเสียง MPEG เป็นเวลาสามสิบปี
5.6.3 การใช้ WebTransport สำหรับการฉีดสตรีมวิดีโอสด
5.6.3 WebRTC Notes
5.6.3 หากคุณต้องการเรียนรู้การพัฒนาเสียงและวิดีโอคุณรู้สึกว่ามีข้อมูลน้อยมากบนอินเทอร์เน็ตหรือไม่?
5.6.3 โครงการโอเพนซอร์ส WebRTC - สอนวิธีสร้าง AppRTC ทีละขั้นตอน
5.6.3 พารามิเตอร์การรวบรวม MSVC ที่สมบูรณ์ที่สุดการสำรองข้อมูลที่ชื่นชอบความแตกต่างระหว่างการรวบรวม MINGW และ MSVC
5.6.3 คำสั่ง ffmpeg มากกว่า 20 คำสั่งสำหรับผู้เริ่มต้น
5.6.3 Google Open Source, Framework RPC ประสิทธิภาพสูง: ประสบการณ์การใช้งาน GRPC
5.6.3 คะแนนทางเทคนิคของการพัฒนาเสียงและวิดีโอ C ++
5.6.3 สรุปการใช้งาน FFMPEG
5.6.3 2022 Outlook เทคโนโลยี | สิบปีของโอเพ่นซอร์สสถานการณ์ปัจจุบันและอนาคตของ WebRTC
5.6.3 บทนำสู่ FFMPEG, การพัฒนาสื่อและการเรียนรู้วิดีโอและการเรียนรู้วิดีโอบทความที่คุณจะรวบรวมทันทีที่คุณเห็น (พร้อมสื่อวิดีโอ 20 รายการ)
5.6.3 โครงสร้าง FFMPEG และเครื่องมือบรรทัดคำสั่ง (บทนำออนไลน์)
5.6.3 คะแนนความรู้ทั่วไปสำหรับการเข้ารหัสเสียงและวิดีโอ
5.6.3 WebRTC ผู้ส่งอัตราการวิเคราะห์การใช้งาน
5.6.3 โอกาสสำหรับนักพัฒนา C ++ อยู่ที่ไหน ใช้คำแนะนำการจ้างงาน CC ++ ที่ดีในปี 2565
5.6.3 การวิเคราะห์ซอร์สโค้ด WebRTC- RTC_Check
5.6.4 RTMP พุชสตรีมมิ่งและการเรียนรู้โปรโตคอล (รหัสเต็ม)
5.6.5 การทำความเข้าใจการประทับเวลาในโปรโตคอลสตรีมมิ่งถูกซิงโครไนซ์กับเสียงและวิดีโอ
5.6.6 WERTC สร้างการโทรวิดีโอและการประชุมวิดีโอ (สร้างสำเร็จหลังจากการทดสอบส่วนบุคคลครึ่งชั่วโมง)
5.6.7 x264 การควบคุมอัตราบิต
5.6.8 การวิเคราะห์ซอร์สโค้ด FFMPEG: ระบบการจัดการหน่วยความจำ
5.6.9 กลไกการรักษาความปลอดภัยการส่งผ่าน WebRTC บทที่ 2: คำอธิบายเชิงลึกของโปรโตคอล SRTP
5.7.1 WebRTC สามารถนำอะไรมาให้ฉันได้บ้าง?
5.7.2 หมายเหตุการศึกษา FFMPEG - การวิเคราะห์ตัวอย่างใหม่
5.7.3 Linux Ubuntu FFMPEG การพัฒนาสภาพแวดล้อมการก่อสร้าง (การสอนการก่อสร้างสไตล์พี่เลี้ยง)
5.7.4 ความรู้พื้นฐานเกี่ยวกับเทคโนโลยีการพัฒนาเสียงและวิดีโอ
5.7.5 หลักการระบบปฏิบัติการ Linux - สแต็กเครือข่ายเครือข่าย
5.7.6 เข้าใจอย่างสมบูรณ์ในช่องว่างของซ็อกเก็ตจากเคอร์เนล Linux
5.7.7 เข้าใจหลักการเบื้องหลัง epoll
5.7.8 IO แบบอะซิงโครนัสใหม่ภายใต้ Linux: IO_Ining คำอธิบายโดยละเอียด
5.7.9 การวิเคราะห์ซอร์สโค้ด Epoll: ทำไมต้องใช้ต้นไม้สีแดงและสีดำและวิธีการใช้ต้นไม้สีแดงและสีดำ
5.8.1 ตรวจสอบคำถามสัมภาษณ์การพัฒนาแบ็กเอนด์ Tencent Linux C ++
5.8.2 60 คำถามสัมภาษณ์สำหรับการสัมภาษณ์วิศวกร 30K+C ++
5.8.3 การออกแบบและการใช้งานกลุ่มหน่วยความจำ C ++ High พร้อมกัน
5.8.4 ไม่เข้าใจความเท่าเทียมและการเกิดขึ้นพร้อมกันใช่ไหม เข้าใจพื้นที่ขนานและพร้อมกันอย่างสมบูรณ์ในบทความเดียว
5.8.5 ETCD: การวิเคราะห์ที่ครอบคลุมของหลักการและสถานการณ์แอปพลิเคชันของ ETCD
5.8.6 การสัมภาษณ์ Tencent: สรุปการเพิ่มประสิทธิภาพประสิทธิภาพของหน่วยความจำ Linux
5.8.7 หลักการและการใช้งานของ VMALLOC ในเคอร์เนล Linux
5.8.8 เทคโนโลยีหลัก 10 อันดับแรกที่ต้องเชี่ยวชาญในการพัฒนาเซิร์ฟเวอร์ประสิทธิภาพสูง
5.8.9 รหัสร้อยบรรทัดที่ใช้เธรดพูลตาม C ++ 11 ซึ่งง่ายและสามารถพกพาพารามิเตอร์ได้หลายตัว
5.9.1 การวิเคราะห์แบบจำลอง Linux IO อย่างละเอียดที่สุดห้าแบบบนเครือข่ายทั้งหมด
5.9.2 ฟังก์ชั่นและการเพิ่มประสิทธิภาพของสถานะ time_wait ในการเชื่อมต่อ TCP
5.9.3 บันทึกการศึกษา DPDK เชิงลึกและเข้าใจง่ายและเข้าใจได้ง่าย-เข้าใจ DPDK
5.9.4 บทสรุปของคำถามสัมภาษณ์ Alibaba Classic ที่แข็งแกร่งที่สุดในอดีต: C ++ R&D ตำแหน่ง
5.9.5 สุดฮาร์ดคอร์กระบวนการนี้เป็นอย่างไรในหน่วยความจำ! และชีวิตของกระบวนการ
5.9.6 หลักการและการใช้งานของ IO แบบอะซิงโครนัสดั้งเดิมใน Linux
5.9.7 วิธีลดการกระจายตัวของหน่วยความจำที่เกิดจากการจัดสรรหน่วยความจำบ่อยครั้ง (Malloc หรือใหม่)
5.9.8 การทำความเข้าใจแคชหน้าของ Linux
5.9.9 การพร้อมกันสูงและอาวุธลับ IO ที่มีปริมาณงานสูง - เทคโนโลยีการรวมกลุ่ม
6.1.1 面试必备:计算机网络常问的六十二个问题
6.1.2 深入剖析阻塞式socket的timeout
6.1.3 深入理解Linux 的epoll 机制及epoll原理
6.1.4 Linux中的消息队列、共享内存,你确定都掌握了吗?
6.1.5 关于高性能服务器底层网络通信模块的设计方法
6.1.6 你真的了解Redis单线程为什么如此之快吗
6.1.7 并发与多线程之线程安全篇
6.1.8 设计模式—代理模式以及动态代理的实现
6.1.9 后端开发—一文详解网络IO模型
6.2.1 一文了解Nginx反向代理与conf原理
6.2.2 Linux环境,CC++语言手写代码实现线程池
6.2.3 一文掌握tcp服务器epoll的多种实现
6.2.4 后端开发【一大波干货知识】tcpip定时器与滑动窗口详解
6.2.5 网络IO管理-简单一问一答、多线程方式
6.2.6 后端开发【一大波干货知识】定时器方案红黑树,时间轮,最小堆
6.2.7 后端开发【一大波干货知识】—Redis,Memcached,Nginx网络组件
6.2.8 手写实现分布式锁
6.2.9 后端开发【一大波干货知识】定时器方案红黑树,时间轮,最小堆
6.3.1 Reactor实现http服务器,附完整代码
6.3.2 hash,bloomfilter,分布式一致性hash
6.3.3 DPDK技术系统学习
6.3.4 后端开发【一大波干货知识】网络通信模型和网络IO管理
6.3.5 音视频开发技术的基本知识
6.3.6 用WinDbg断点调试FFmpeg
6.3.7 FFplay源码分析-nobuffer
6.3.8 RTSP直播延时的深度优化(干货)
6.3.9 H264解码之FFmepg解码ES数据
6.4.1 YUV与RGB的格式采样方式存储方式
6.4.2 【音视频技术】播放器架构设计
6.4.3 Nginx搭建RTMP推拉流服务器
6.4.4 FFMPEG 之AVDevice
6.4.5 WebRTC 源码分析-- 线程相关(线程切换分析
6.4.6 WebRTC 基础知识-- 基础知识总结【1】WebRTC 简介
6.4.7 神器ffmpeg——操作视频,极度舒适
6.4.8 音视频面试问题面试技巧
6.4.9 什么是码率控制在视频编码中,码率控制的概念是什么,它是通过什么实现的
6.5.1 FFmpeg命令行格式和转码过程
6.5.2 进程原理及系统调用
6.5.3 posix API与网络协议栈的实现原理
6.5.4 常使用的网络IO管理
6.5.5 服务器模型reactor
6.5.6 nginx 中数据结构讲解
6.5.7 nginx自定义实现一个计量模块
6.5.8 协程的调度实现与性能测试
6.5.9 tcp服务器epoll的多种实现
6.6.1 C++面试常问基础总结梳理
6.6.2 Nginx数据结构
6.6.3 Linux服务器开发,libeventlibev框架实战那些坑
6.6.4 tcp支持浏览器websocket协议
6.6.5 Linux服务器开发,手写分布式锁
6.6.6 Linux服务器开发,手写内存检测组件
6.6.7 Linux服务器开发,mysql连接池的实现
6.6.8 数据库之mysql索引原理详解
6.6.9 TCP三次握手、四次挥手以及TIME_WAIT详解
6.7.1 Linux内核必懂知识—调度器分析及完全公平调度器CFS
6.7.2 一文彻底掌握用户态协议栈,一看就懂的
6.7.3 分布式缓存--缓存与数据库强一致场景下的方案
6.7.4 手写内存池以及原理代码分析
6.7.5 tcp协议栈实现,tcp定时器与滑动窗口实现
6.7.6 如何更有效的使用Redis 缓存
6.7.7 Redis之最细命令介绍
6.7.8 Linux CC++ 并发下的技术方案
6.7.9 MySQL事务原理分析
6.8.1 UDP的可靠性传输详解
6.8.2 DPDK的虚拟交换机框架OvS
6.8.3 后台开发【一大波干货知识】Nginx数据结构剖析
6.8.4 Redis的线程模型和异步机制
6.8.5 Linux的虚拟内存详解
6.8.6 各大厂c++ linux后端开发岗位要求汇总
6.8.7 内存优化-如何使用tcmalloc来提升内存性能?提升的结果太不可思议
6.8.8 一文搞懂Linux进程调度原理
6.8.9 盘点后端开发那些值得学习的优秀开源项目
6.9.1 关于linux进程间的close-on-exec机制
6.9.2 网络编程手绘TCP状态机
6.9.3 从进程和线程的创建过程来看进程和线程的区别
6.9.4 超详细讲解Linux中的基础IO
6.9.5 操作系统:文件系统的实现
6.9.6 Linux网络分析必备技能:tcpdump实战详解
6.9.7 大厂面试题之计算机网络重点篇
6.9.8 深入malloc 函数,带你真正理解内存分配
6.9.9 面试必问的epoll技术,从内核源码出发彻底搞懂epoll
7.1.1 从进入内核态看内存管理
7.1.2 「Linux」多线程详解,一篇文章彻底搞懂多线程中各个难点
7.1.3 百度C++ 工程师的那些极限优化(内存篇)
7.1.4 malloc内存分配过程详解
7.1.5 TCP BBR拥塞控制算法深度解析
7.1.6 Linux完全公平调度算法原理与实现
7.1.7 如何快速地进出——C++ 读写数据IO 性能优化
7.1.8 如何解决tcp通信中的粘包问题?
7.1.9 多线程还是多进程的选择及区别
7.2.1 最常见的linux网络编程面试题
7.2.2 内存优化-使用tcmalloc分析解决内存泄漏和内存暴涨问题
7.2.3 Linux服务器开发,fastdfs架构分析和配置
7.2.4 用户态协议栈
7.2.5 Linux服务器开发,手写死锁检测组件
7.2.6 海量数据去重hash与布隆过滤器
7.2.7 Linux服务器开发,内存池原理与实现
7.2.8 基础的网络服务器开发
7.2.9 实现高并发http 服务器
7.3.1 nginx过滤器模块
7.3.2 随处可见的红黑树
7.3.3 服务器开发,无锁消息队列实现
7.3.4 Linux系统中的文件操作
7.3.5 Linux服务器开发,异步请求池框架实现,协程前传
7.3.6 Linux服务器开发,原子操作CAS与锁实现
7.3.7 Linux服务器开发,线程池原理与实现
7.3.8 Linux服务器开发,应用层协议设计ProtoBufThrift
7.3.9 Linux服务器开发,stl容器,智能指针,正则表达式(C++STL中的智能指针)
7.4.1 协程的设计原理与汇编实现
7.4.2 redis计数,布隆过滤器,hyperloglog
7.4.3 Linux服务器开发,Makefilecmakeconfigure
7.4.4 磁盘存储链式的B 树与B+树
7.4.5 互斥锁、读写锁、自旋锁,以及原子操作指令xaddl、cmpxchg的使用场景剖析
7.4.6 网络通信模型和网络IO管理
7.4.7 MYSQL---服务器配置相关问题
7.4.8 Linux服务器开发,定时器方案红黑树,时间轮,最小堆
7.4.9 Posix API 与网络协议栈详细介绍
7.5.1 Linux服务器百万并发实现与问题排查
7.5.2 ZMQ无锁队列的原理与实现
7.5.3 redis7.0源码阅读(四):Redis中的IO多线程(线程池)
7.5.4 SQL之增删改查命令操作详解
7.5.5 数据库设计的三范式和反范式
7.5.6 基于C++11实现的高效线程池及工作原理
7.5.7 Linux内存管理-详解mmap原理
7.5.8 通过实战理解CPU上下文切换
7.5.9 Linux IO复用中select poll epoll模型的介绍及其优缺点的比较
7.6.1 Linux内核时钟系统和定时器实现
7.6.2 linux下C++多线程并发之原子操作与无锁编程
7.6.3 Linux网络编程——tcp并发服务器(多线程)实例分享
7.6.4 linux下waitwaitpid处理僵死进程详解
7.6.5 从TCP协议到TCP通信的各种异常现象和分析
7.6.6 低延迟场景下的性能优化实践
7.6.7 万字长文漫谈高可用高并发技术
7.6.8 万字长文讲解linux内核性能调优
7.6.9 详解进程的虚拟内存,物理内存,共享内存
7.7.1 浅谈TCPIP网络编程中socket的行为
7.7.2 内存碎片优化
7.7.3 websocket协议介绍与基于reactor模型的websocket服务器实现
7.7.4 redis7.0源码阅读(三):哈希表扩容、缩容以及rehash
7.7.5 eBPF学习- 入门
7.7.6 Nginx源码阅读:避免惊群以及负载均衡的原理与具体实现
7.7.7 海量数据去重的hash,bitmap与布隆过滤器Bloom Filter
7.7.8 锁与原子操作CAS的底层实现
7.7.9 httphttps服务器的实现
7.8.1 随处可见的红黑树
7.8.2 Nginx反向代理与系统参数配置conf原理
7.8.3 多线程实践概述
7.8.4 C++高性能协程分布式服务框架设计
7.8.5 如何能够看懂TCPIP 协议细节?
7.8.6 一文搞懂mmap 涉及的所有内容
7.8.7 C++这么难,为什么我们还要学习C++?
7.8.8 内存泄露定位手段(c语言hook malloc相关方式)
7.8.9 linux:孤儿进程与僵尸进程产生及其处理
7.9.1 linux异步IO编程实例分析
7.9.2 透视Linux内核,BPF 深度分析与案例讲解
7.9.3 论fork()函数与Linux中的多线程编程
7.9.4 Linux 直接IO 原理与实现
7.9.5 深入了解epoll模型(特别详细)
7.9.6 内存泄漏-原因、避免和定位
7.9.7 一道腾讯面试题目:没有listen,能否建立TCP连接
7.9.8 一篇文章读懂dpdk——dpdk原理详解
7.9.9 深入理解无锁编程
8.1.1 网络编程:线上大量CLOSE_WAIT的原因深入分析
8.1.2 记录一次腾讯cc++ linux后台开发岗面试经历
8.1.3 如何高效定位网络丢包问题?
8.1.4 高并发的socket的高性能设计
8.1.5 C++开发常用的设计模式及其实现详解
8.1.6 【linux】彻底搞懂零拷贝(Zero-Copy)技术
8.1.7 Linux C++的多线程编程
8.1.8 TCP协议之Send和Recv原理及常见问题分析
8.1.9 MySQL 死锁案例解析,能让你彻底理解死锁的原因
8.2.1 C++之内存管理:申请与释放
8.2.2 计算机操作系统知识点总结
8.2.3 UDP的可靠性传输
8.2.4 Linux 进程间通信:管道、共享内存、消息队列、信号量
8.2.5 深入操作系统,一文搞懂Socket到底是什么
8.2.6 C++多线程详解
8.2.7 linux多线程--双buffer “无锁” 设计
8.2.8 一篇文章教你,Linux内存管理原理
8.2.9 一篇文章助你了解dpdk所有技术点
8.3.1 C++多线程编程,线程互斥和同步通信,死锁问题分析解决
8.3.2 linux服务器性能调优之tcpip性能调优
8.3.3 国内顶级网络大神对TCP的深刻理解
8.3.4 Linux性能优化-CPU性能优化思路
8.3.5 浅谈linux定时器时间轮算法
8.3.6 一文彻底揭秘linux操作系统之「零拷贝」!
8.3.7 c++ 协程_关于协程的实现与原理,多年程序员深度总结
8.3.8 深度剖析linux socket的epollinepollout是何时触发的
8.3.9 Linux中的各种锁及其基本原理
8.4.1 redis IO多路复用原理:高性能IO之Reactor模式
8.4.2 【进程管理】fork之后子进程到底复制了父进程什么?
8.4.3 Linux内核进程上下文切换深入理解
金主爸爸
安利术语:零声,专注于C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK, SPDK, bpf/ebpf等等相关技术分享。本repo由零声的小伙伴推动以及所有提交patch的小伙伴(后面鸣谢部分)参与,共同完成。内容来源于互联网,本repo仅限于整理总结。
零声交流群: 762073882, 偶遇技术大佬交流,不定期书籍红包福利,每晚技术直播通知!
点击进入每晚八点技术直播