主頁 > 後端開發 > 2021年Linux服務器開發的知識技術合集(基礎入門到高級進階)

2021年Linux服務器開發的知識技術合集(基礎入門到高級進階)

2020-10-30 21:03:22 後端開發

前言

本文介紹下Linux從入門到高級進階的學習路線,

整個路線體系專注于服務器后臺開發,知識點包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,TCP/IP,協程,DPDK等等

(技術點目尾都提供免費視頻,關注+qun832218493取資料)

資源串列:

1:linux零基礎入門

2:linux服務器開發

3:架構師開發

4:linux內核

5:webrtc入門到精通

6:音視頻FFmpeg

7:神器Git入門到精通

什么是Linux?

Linux是一個作業系統軟體,與Windows不同的是,Linux是一套開放源代碼程式的、并可以自由傳播的類Unix作業系統,它是一個支持多用戶、多任務、多執行緒和多CPU的作業系統,它能運行主要的UNIX工具軟體、應用程式和網路協議,它支持32位和64位硬體,

Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路作業系統,

linux零基礎入門:如何快速入門,需要哪些知識點?

1:linux環境專欄

linux系統安裝

linux開發環境ssh與Samba配置

linux開發環境Gcc配置

linux的命令操作8條目錄操作與5條檔案操作

2:shell 腳本編程案例

3:統計檔案單詞數量(文本操作)

狀態機實作檔案單詞統計

4:實作通訊錄(結構體)

通訊錄實作的架構設計與需求分析

鏈表的實作與資料結構的定義

架構介面層的實作

業務邏輯的分析與實作

通訊錄人員操作代碼的除錯

通訊錄人員操作代碼除錯與運行

通訊錄洗掉人員操作的除錯與BUG解決

檔案保存于加載的介面層實作

檔案保存業務實作

通訊錄除錯與運行

5:并發下的技術方案(鎖)

多執行緒并發鎖的專案介紹

多執行緒并發鎖的方案一互斥鎖

多執行緒并發鎖的方案一自旋鎖

多執行緒并發鎖的方案一原子操作

附:

linux服務器開發

Linux后端服務器開發是針對有Linux基礎的,想從事Linux后端服務器開發的,

Linux后端服務器開發一起是由八個維度所組成,

詳細知識點:

1. 演算法與設計專題

千里之行,始于足下,不積跬步,無以致千里,既能仰望星空又能腳踏實地,

排序與查找

插入排序

快速排序

希爾排序

桶排序

基數排序

歸并排序

常用演算法

布隆過濾器

字串匹配 KMP演算法

回溯演算法

貪心演算法

推薦演算法

深度優先,廣度優先

常用的資料結構

平衡二叉樹

紅黑樹

B-樹

KMP演算法

堆疊/佇列

布隆過濾器

常用的設計模式

單例模式

責任鏈模式

過濾器模式

發布訂閱模式

代理模式

工廠模式

2. 后臺組件編程專題

工欲善其事,必先利其器,后臺組件是開發的入門石,

持久化 MySQL

MySQL安裝配置與遠程連接

專案:資料操作源于SQL陳述句

專案:存盤程序與事務處理

專案:SQL函式,運算,臨時表

專案:防資料丟失 備份與恢復

專案:MySQL建庫建表建索引

訊息佇列 ZeroMQ

ZMQ編譯安裝與開發環境搭建

專案:publisher-subscriber模式實作

專案:request-response模式實作

專案:Router-Dealer模式實作

專案:史上最快的訊息佇列—性能分析

快取 Redis

Redis編譯安裝配置

專案:客戶端全域唯一ID保存機制

專案:Redis訊息佇列機制 發布訂閱

專案:Redis事務實戰

專案:Redis安全性能,資料備份與恢復

專案:Redis分布式鎖詳解

反向代理 Nginx

Nginx開發介紹

專案:反向代理負載均衡配置詳解

專案:自定義協議upstream開發

專案:子域名映射

專案:服務器后臺攻擊預防

專案:nginx雙虛擬主機

Restful Http

Http第三方介面實作

專案:異步Http請求

專案:ngrok與Restlet

專案:長連接與短鏈接

協調服務 ZooKeeper

ZK編譯安裝與C API開發環境

專案:集群管理與服務注冊

專案:節點創建與監控

專案:分布式鎖的實作

專案:ZK偽集群部署與服務管理

NoSQL MongoDB

MongDB安裝與開發介紹

專案:MongoDB備份與恢復

專案:MongoDB檔案操作

專案:全文檢索與正則運算式

專案:MongoDB建庫建集合

3. 代碼工程化專題

優秀的工程師有優秀的代碼組織能力與代碼迭代能力,

架構工程

工程引數配置與編譯 cmake

代碼規范與命名規則

檔案命名與變數命名規則

腳本配置工具 autoconf

代碼工程組織架構 Makefile

管理代碼

分布式版本控制系統 git

遠程倉庫,標簽管理

github與碼云

創建倉庫,匯入,checkout

svn環境搭建與原理

分支管理 沖突解決

產品代碼版本管理 SVN

4. 網路服務專題

網路IO是網路通信的血管,資料是血液,血液的流動是不能離開血管的,

原始碼實作

服務器IO核心— epoll編程實戰

客戶端多網路連接機制poll

檔案IO管理select實戰

框架實戰

高性能的時間回圈 libev

跨平臺異步I/O libuv

跨平臺的C++庫 Boost.Asio

事件通知庫 libevent

理論詳解

阻塞型 BIO

異步IO AIO

非阻塞型IO NIO

5. 開源框架專題

欲窮千里目,更上一層樓,站在巨人的肩膀上,看到窗外的景色,

TCP協議堆疊

基于DPDK的高性能用戶態協議堆疊 f-stack

基于Netmap單執行緒協議堆疊 NtyTcp

精簡版tcp協議堆疊 LWIP

并發性

用OpenCL的C++ GPU計算庫 Boost.Compute

Intel執行緒構件塊 Intel TBB

并行編程的異構系統的開放標準 OpenCL

C++11的反應性編程庫 C++ React

資料庫

Redis資料庫的C客戶端庫 hiredis

Facebook的嵌入鍵值的快速存盤 RocksDB

用于Sqlite3的C++物件關系映射 hiberlite

國際化

Unicode 和全球化支持的C、C++ 和Java庫 IBM ICU

不同字符編碼之間的編碼轉換庫 libiconv

GNU gettext

壓縮

非常緊湊的資料流壓縮庫 Zlib

快速壓縮和解壓縮 Snappy

非常快速的壓縮演算法 LZ4

單一的C源檔案,緊縮/膨脹壓縮庫 Miniz

日志

設計非常模塊化,并且具有擴展性 Boost.Log

靈活添加日志到檔案,系統日志 Log4cpp

添加日志到你的C++應用程式 templog

C++日志庫,只包含單一的頭檔案 easyloggingpp

多媒體庫

開源音頻庫—跨平臺的音頻API OpenAL

網路實時流媒體通信 WebRTC

音頻和音樂數字信號處理庫 Maximilian

C++易用和高效的音頻合成 Tonic

序列化

快速資料交換格式和RPC系統 Cap’n Proto

協議緩沖,谷歌的資料交換格式 ProtoBuf

高效的跨語言IPC/RPC Thrift

記憶體高效的序列化庫 FlatBuffers

XML庫

Gnome的xml C決議器和工具包 LibXml2

簡單快速的C++CML決議器 TinyXML2

簡單快速的XML決議器 PugiXML

C++的xml決議器 LibXml++

腳本

小型快速腳本引擎 Lua

谷歌的快速JavaScript引擎 V8

嵌入式腳本語言 ChaiScript

Json庫

進行編解碼和處理Jason資料的C語言庫 Jansson

C語言中的JSON決議和列印庫 ibjson

輕量級的JSON庫 libjson

C/C++的Jason決議生成器 Frozen

數學庫

高質量的C++線性代數庫 Armadillo

數學圖形模板庫 GMTL

用于個高精度計算的C/C++庫 GMP

高級C++模板頭檔案庫 Eigen

安全

SSL,TLS和DTLS協議的安全通信庫 GnuTLS

功能齊全的,開源加密庫 Openssl

有關加密方案的免費的C++庫 Cryto++

Web應用框架

安全快速開源Web服務器 Lighttpd

基于Qt庫的web框架 QDjango

高性能的HTTP和反向代理web服務器 Nginx

網路庫

C異步網路開發庫 Dyad.c

多協議檔案傳輸庫 Curl

高速模塊化的異步通信庫 ZeroMQ

C++面向物件網路工具包 ACE

異步事件

事件通知庫 libevent

跨平臺異步I/O libuv

功能齊全,高性能的時間回圈 libev

網路和底層I/O編程的跨平臺的C++庫 Boost.Asio

協程

純c版的協程框架 ntyco

C++11實作協程庫, golang風格 libgo

微信支持8億用戶同時在線的底層IO庫 libco

6. 性能測驗專題

學而不思則罔,思而不學則殆,從技術反饋中理解知識的原理,

除錯庫

Boost測驗庫 Boost.Test

記憶體除錯性能分析工具 Valgrind

谷歌C++測驗框架 GoogleTest

記憶體分配跟蹤庫 MemTrack

測驗庫

單元測驗框架 minUnit

測驗用例撰寫 libtap

輕量級的C++單元測驗框架 UnitTest++

自動化測驗用例 gtest和luatest

性能工具

高性能代碼構建系統 tundra

Http壓測工具 WRK

網站壓測工具 webbench

高性能構建系統 FASTBuild

7. Linux系統專題

上帝關閉一扇門,就會打開一扇窗,Linux是程式員世界的另一扇窗,

系統命令工具

行程間通信設施狀態 ipcs

Linux系統運行時長 uptime

CPU平均負載和磁盤活動 iostat

監控,收集和匯報系統活動 sar

監控多處理器使用情況 mpstat

監控行程的記憶體使用情況 pmap

系統管理員調優和基準測量工具 nmon

密切關注Linux系統 glances

查看系統呼叫 strace

基礎命令工具

系統行程狀態 ps

虛擬記憶體統計工具 vmstat

控制臺的流量監控工具 vnstat

行程監控工具 atop,htop

記憶體使用狀態 free

網路引數工具

Linux網路統計監控工具 netstat

顯示和修改網路介面控制器 ethtool

網路資料包分析利刃 tcpdump

遠程登陸服務的標準協議 telnet

獲取實時網路統計資訊 iptraf

顯示主機上網路介面帶寬使用情況 iftop

磁盤引數工具

磁盤卸載 umount

讀取、轉換并輸出資料 dd

檔案系統系統 df

磁盤掛載 mount

日志監控工具

實時網路日志分析器 GoAccess

多視窗之下日志監控 MultiTail

日志分析系統 LogWatch/Swatch

引數監控工具

監控apache網路服務器整體性能 apachetop

ftp 服務器基本資訊 ftptop

IO監控 iotop

電量消耗和電源管理 powertop

監控 mysql 的執行緒和性能 mytop

系統運行引數分析 htop/top/atop

8. 物聯網云廣播實戰專題

實踐結合理論,從生產專案中,體會計算機世界的瑰寶;從產品中,體會業務需求的魅力

專案需求

物聯網云廣播專案介紹

專案需求規格說明

架構設計和介面說明

工程代碼

socket TCP服務器編程

UDP編程與廣播多播

TCP的長連接還是短連接

MYSQL庫表設計

第三方登陸 微信OAuth2授權登陸

高德地圖顯示

行程間通信方案

用戶注冊短信驗證

賬戶充值微信支付

記憶體池ringbuffer設計

功能測驗

用戶連接測驗用例

tcp與udp資料包測驗用例

用戶注冊測驗用例

記憶體管理測驗用例

資料庫吞吐量測驗用例

產品發布

自動啟動之shell腳本

網路組安全與防火墻

產品上云公網發布

附:

linux架構開發

Linux高級互聯網架構師是針對有Linux后端服務器開發經驗的,想從事架構師相關作業的是從九個維度,系統提升的,比Linux后端服務器開發的課程內容更深入,課程內容也是關注在產品架構,與技術深度的,

  1. 原始碼分析是針對后端常用的技術組件,進行原始碼分析,從原始碼提升代碼能力,

  2. 中間件開發,包括協程設計,訊息佇列等等,自己動手來設計開源組件,

  3. 集群設計,將后端服務器組件集群化設計,來提升性能與穩定性

  4. Linux系統,注重Linux內核部分,檔案系統,網路IO,網卡原理,協議堆疊等等,是從Linux內核中來了解設計,

  5. 音視頻是以流媒體與編解碼來進行專案實戰的,

  6. 性能測驗與優化,提升系統的整體吞吐量,

  7. 運維統計,主要是針對持續集成,與docker鏡像管理,

  8. 分布式架構設計,是從一線互聯網大廠產品架構,總結出來的,了解大廠的技術架構,

  9. IM即時通訊專案實戰,一個上市公司的即時通訊產品實作,

詳細知識點:

1. 原始碼分析專題

原始碼閱讀能力是提升技術必不可少的途徑

Nginx原始碼

Nginx基礎架構

HTTP架構

行程間的通信機制

Nginx高級資料結構

slab共享記憶體

upstream機制設計

Redis原始碼

Redis存盤系統原理

資料模型與鍵值映射

記憶體操作與磁盤同步

主從同步,原子操作

底層IO實作決議

ZeroMQ原始碼

訊息模型 發布訂閱/推拉模型

通信協議 inproc/ipc/tcp/pgm

性能分析與經典MQ對比

底層網路通信實作機制

zmq系統架構與實作原理

2. 中間件開發專題

要有造輪子的能力,也要有不造輪子的覺悟,SDK是高級開發必須要有的封裝能力

高性能組件

如何設計記憶體池

高并發場景下的訊息佇列

協程框架的實作

手寫執行緒池

異步請求池

連接池

高并發網路IO

select,poll和epoll模型的區別

Linux系統IO模型

理解Linux 服務器高并發編程

網路接入層架構設計

你必須懂得Epoll玩法

并發性

多執行緒與執行緒安全

事務的隔離級別

公平鎖&非公平鎖

CopyOnWrite容器

悲觀鎖&樂觀鎖&CAS&ABA問題

事務ACID特性

Web服務

反向代理Nginx

最廣泛的web服務器 Httpd

高性能 Web 平臺OpenResty

定時調度

觸發器按時啟動原理

Linux定時任務cron配置

訊息佇列

訊息總線VS訊息佇列

Redis 訊息推送

如何保證消費者接收訊息的順序

分布式定時調度 Opencron

Web安全

CSRF原理及防范

高級Dos攻擊-Hash碰撞攻擊

腳本注入檔案上傳漏洞

SQL注入

XSS攻擊原理與解決方案

搜索引擎

搜索引擎原理

分布式全文搜索 ElasticSearch

全文檢索 Solr

基于MySQL,PostgreSQL全文檢索 Sphinx

全文檢索引擎工具包 Lucene

網路協議堆疊

tcp/udp/ip/eth

多行程實作高并發

滑動視窗

延遲確認

定時重傳

流量控制

tcp握手揮手

3. 集群專題

必須要有的產品級技能,

MySQL集群

MySQL Cluster 評估指南

讀寫分離 分庫分表

Binlog機制分析

健全性檢查與故障排除

資料模型與查詢設計

Redis集群

Redis Cluster方案

節點自動發現

master/slave 選舉,集群容錯

ASK轉向/MOVED轉向機制

FastDFS集群

tracker與storage節點

檔案上傳/下載測驗

fastdfs-nginx-module的原理

fastdfs的實作原理

K8S集群

K8S核心組件

無縫對接新應用

快速部署應用與擴展

自動部署、管理容器化

Nginx集群

Nginx的實作原理

經典應用場景

高可用方案的實作機制

LVS與Nginx集群

MongoDB集群

高可用的MongoDB集群方案

檔案管理機制與實作

配置分片的表與片鍵

MongoDB集群環境部署

Zookeeper集群

zookeeper的概念與集群環境部署

zk的特性與資料結構

原理及其內部選舉機制

zk集群實作機制

4. Linux系統專題

Linux是每個工程師都會討論的話題

環境編程

系統檔案操作 一切設備接檔案

信號量 mmap 共享記憶體

系統時間 時間戳 定時器

網路IO編程 epoll機制

鎖機制 互斥鎖 spinlock 條件變數 原子操作

行程/執行緒 資料同步機制

系統運維

系統日志管理與配置

服務器環境搭建與配置

集成化工具安裝

shell命令 檔案操作

內核編程

跨越行程的障礙 內核通信組件實作

內核配置與編譯

網卡驅動的實作

5. 音視頻專題

世界因聲音與圖片而精彩,音視頻技術也是互聯網技術堆疊必備技能

流媒體

音視頻編碼原理詳解

AAC, H264主流編碼格式

H264視頻格式檔案走讀

WebRTC音視頻

WebRTC互動機制詳解

X264編碼詳解

編解碼

ffplay音視頻同步分析

ffplay控制原理分析

實作WebRTC點對點通話

RTMP與RTSP編碼分析

播放器開發基礎

6. 性能與測驗專題

程式優化是所有程式產品必不可少的話題

理解性能優化

容量評估 平均QPS 高峰QPS 單機QPS

CDN網路加速原理

連接池的性能優化

性能優化方法論

MySQL調優

理解MySQL底層原理 B+Tree機制

索引優化揭秘

SQL陳述句優化

SQL執行機制詳解

測驗理論

深度決議 TDD 測驗驅動開發

全鏈路壓測經驗

Nginx根據IP進行灰度發布 A/B Test

真實流量測驗工具 tcpcopy

單元測驗minUnit

Linux調優

內核代碼組織架構

系統IO引數調優配置

網路協議堆疊引數配置

內核代碼編譯與內核更換

GCC調優

快速編譯工程Makefile撰寫

編譯機制 編譯原理

7. 運維統計專題

團隊合作,產品開發,必須要有代碼管理能力

Jenkins

搭建Jenkins自動化部署環境

testpreproduction 多環境發布

Jenkins集成git實作自動部署

Jenkins多環境配置,權限管理及插件使用

虛擬化

Xen虛擬化搭建與原理詳解

KVM經典詳解

OpenStack架構知識梳理

開源Linux容器 OpenVZ

Docker

Dockerfile的編譯與鏡像編譯

Docker-Compose部署與編排

Docker命令與鏡像版本提交

Docker的原理

8. 分布式架構專題

以銅為鏡,可以正衣冠;以古為鏡,可以知興替;以人為鏡,可以明得失,從互聯網一線產品的技術架構,提高自己的視野

架構實戰

新浪門戶負載均衡方案決議

京東海量存盤哈希存盤引擎解密

虎牙核心視頻直播架構技術揭秘

京東分布式K-V存盤設計與挑戰

阿里網路故障智能化治理解決方案

小艾叮咚語音核心技術語音合成實戰

微信安全開放性云平臺架構探秘

愛奇藝大資料平臺的構建之路

架構中間件

遠程呼叫rpc從入門到精通

多行程高效通信之共享MM全攻略

Nginx行程間通信剖析

高性能服務器為什么需要記憶體池

百度大規模時序指標自動例外檢測實戰

架構策略

訂閱者發布者模式實作高并發架構

阿里云Elasticsearch架構決議與性能優化實踐

兩段提交與多段提交

UDP分片原理分析及其實作方法

Reactor模式和執行緒池實作高并發服務

架構原理

訊息驅動式架構設計方法論

動態域名決議和CDN原理

Zookeeper原理

分布式鎖的原理

P2P去中心化原理

應用層協議設計方法論

9. IM實時流媒體專案實戰專題

理論結合實戰

專案需求

IM實時流媒體專案介紹

專案需求規格說明

架構設計和介面說明

工程代碼

IM訊息服務器

檔案傳輸服務器

檔案存盤服務器

路由服務器

資料庫代理服務器

登陸服務器

HTTP服務器

單聊與群聊

本地持久化

模塊化設計

功能測驗

用戶連接測驗用例

tcp與udp資料包測驗用例

用戶注冊測驗用例

記憶體管理測驗用例

快取測驗用例

資料庫吞吐量測驗用例

產品發布

自動啟動之shell腳本

持續集成與線上更新

網路組安全與防火墻

產品上云公網發布

附:

linux內核

Linux內核知識體系分為五個部分

1:linux內核開發環境搭建

linux內核研習與專案實戰專欄介紹

linux內核編譯與升級

linux內核學習方法

2:跨越行程的障礙,實作行程通信(一)

行程間6種通信方式

多個行程之間通信,如何實作通信組件

內核模塊操作

行程通信組件,架構實作

系統呼叫的程序剖析

3:跨越行程的障礙,實作行程通信(二)

主次設備號與private-data的作用

insmod與模塊初始化的流程

模塊open的流程

rmmod與模塊退出的流程

模塊write的流程與實作

poll的實作原理與等待佇列wait-queue

模塊編譯與Makefile撰寫

4:網卡驅動的實作

內核模塊安裝與mknod

應用程式編程與內核模塊除錯

Docker的虛擬網卡與網卡的作用

網卡作用于網卡驅動的運行環境

如何設計適配市面上網卡的nic子系統

nic網卡驅動的架構實作

nic網卡驅動的recv與sk-buff

nic網卡初始化與原理分析

nic網卡open與stop實作

5:最后自主思考專案

nic的編譯與自主思考題,用戶態協議堆疊

附:

webrtc入門到精通

(1)WebRTC入門

(2)WebRTC開發環境搭建

(3)Coturn穿透和轉發服務器搭建

(4)音視頻采集和播放

(5)Nodejs實戰

(6)手把手實作音視頻一對一通話(包含信令協議設計、Web to Web、Android to Web、 Android to Android)

(7)開源方案介紹

(8)AppRTC開源方案搭建

附:

音視頻FFmpeg

FFmpeg的學習方向,主要涉及知識點:

1.FFmpeg的轉碼流程是什么?

2.常見的視頻格式包含哪些內容嗎?

3.如何把這些內容從視頻檔案中抽取出來?

4.如何從一種格式轉換為另一種格式?

5.如何放大和縮小視頻?

6.如何旋轉,翻轉,填充,裁剪,模糊,銳化視頻?

7.如何給視頻加logo,洗掉logo?

8.如何給視頻加文本,動態文本?

9.如何處理圖片?

10.如何錄像,添加動態logo,截圖,馬賽克視頻?

附:

神器Git入門到精通

Git基礎

1.1 課程概述

1.2 Linux上安裝git

1.3 Mac OS上安裝git

1.4 Windows上安裝git

1.5 配置git環境

1.6 獲取幫助

git常用命令

2.1 創建倉庫

2.2 搭建git服務器

2.3 git的基礎原理

2.4 提交修改并push到遠程倉庫

2.5 合并commit為一個

2.6 修改commit的message

2.7 查看commit的資訊

2.8 版本回退

2.9 洗掉檔案

2.10 查看不同提交的指定檔案的修改

2.11 多客戶端之間的同步

2.12 處理突發事件

2.13 指定不需要git管理的檔案

2.14 如何解決專案之間的依賴

2.15 如何備份git倉庫到本地

2.16 git的基礎常用命令

git分支與tag

3.1 創建與合并分支

3.2 解決沖突

3.3 分支管理策略

3.4 Bug分支

3.5 Feature分支

3.6 多人協作

3.7 創建標簽

3.8 操作標簽

3.9 標準化的開發作業流

全球最大的開源專案管理基地github

4.1 初識 GitHub

4.2 加入 GitHub

4.3 Git 速成

4.4 向GitHub 提交代碼

4.5 啟用issue跟蹤需求和缺陷

4.6 如何保證團隊開發質量

企業里為什么喜歡使用gitlab

5.1 搭建gitlab

5.2 gitlab權限管理

5.3 gitlab的codereview

5.4 團隊知識管理方法

附:

關注+qun:832218493取資料

最后,希望大家都學有所成,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/195751.html

標籤:python

上一篇:Spring核心思想 IOC 、 AOP

下一篇:匯編 統計字串大小寫字母,數字,其他字符個數(全debug實作)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more