Keras、PyTorch、MXNet
用戶畫像
C、C++筆記
JavaWeb+大數據筆記
CDH 6、CDH5
Python筆記
https://pan.baidu.com/s/1OBd1rbwGx0F8YnefM7R0Uw
提取碼0hal
https://pan.baidu.com/s/1TKNZ6TtDxDtDUnezrcXJ8Q
提取碼2ber
https://pan.baidu.com/s/1_XWMwcoNuDPdE3xkluo08A
提取碼b12m
https://pan.baidu.com/s/1eW8YSrasGiTXpBFSSJd78Q
提取碼7aeu
https://pan.baidu.com/s/1xi_3T6Nw__Sy-QQaN29O4Q
提取碼1gcs
1.CDH 6 的安裝和使用 、CDH5安裝
https://blog.csdn.net/zimiao552147572/article/details/87190368
https://blog.csdn.net/zimiao552147572/article/details/94158217
2.用戶畫像
https://blog.csdn.net/zimiao552147572/article/details/88425850
3.Spark 實時處理
https://blog.csdn.net/zimiao552147572/article/details/88556157
4.大數據組件安裝(非CDH)和使用 總文章
https://blog.csdn.net/zimiao552147572/article/details/88602425
5.大數據組件使用 總文章
https://blog.csdn.net/zimiao552147572/article/details/88602959
6.window下 人工智能 Keras、TensorFlow、PyTorch、CUDA、cuDNN 的環境安裝 總文章、window 安裝 PyTorch、window下安裝MXNet
https://blog.csdn.net/zimiao552147572/article/details/88854126
https://blog.csdn.net/zimiao552147572/article/details/94333706
https://blog.csdn.net/zimiao552147572/article/details/95807839
7.人工智能AI:Keras PyTorch 深度學習實戰(不定時更新)
https://blog.csdn.net/zimiao552147572/article/details/88867161
8.搜索引擎:Elasticsearch、Solr、Lucene
https://blog.csdn.net/zimiao552147572/article/details/90050034
ASCII碼表
運算符優先級?
vim 快捷鍵
指針、數組:指針的使用形式、int->intptr_t->void
(void
傳遞int值)、內存冗余法(void
傳遞“存有結構體數據”的堆空間地址)、C語言指針轉換為intptr_t類型、
數組名、數組類型(C提高講義)?
指針類型轉換(轉換步長),解引用時從首地址開始取指定的字節數
指針數組
數組指針、二維數組:二維數組名本質是數組指針(C提高講義)
結構體中的指針
指針詳解:指針運算、兩指針大小比較(地址高低比較)、指針強化(C提高講義)、字符指針強化(C提高講義)
二級指針、三級指針、指針數組作函數參數傳入和返回值傳出、棧中指針數組、堆中指針數組(C提高講義)
char
指針 指向 常量區、棧區、堆區 的三種用法
數組、指針練習題總結
函數指針、函數指針數組、回調函數、函數指針作為回調函數、結構體指針/類對象指針中的函數指針作為回調函數使用
typedef結構體類型、typedef數組類型、typedef數組指針類型、typedef函數指針類型、typedef函數指針數組類型
堆、棧
棧(區)、堆(區);全局/靜態區:未初始化數據段/區(bss)、初始化數據段的讀寫段/區;常量區:初始化數據段的只讀段/區?
堆的分配和釋放:malloc、calloc、realloc、free
內存管理:全局變量、全局靜態變量、全局常量、局部變量、局部靜態變量、全局函數、靜態函數、auto自動變量、靜態成員變量、靜態成員函數??
??????????文件作用域、函數作用域、代碼塊作用域
????內存泄露
?????????各變量的作用域、壽命、所處段(區)
????可重入函數、不可重入函數
????內存管理綜合知識點
????內存分區管理(C提高講義)
標識符的要求(自定義名字的要求)
變量的本質
void、void 、void 泛型編程
匿名對象
文件IO:
getc、putc、fgetc、fputc(day08、day17):getc、fgetc、putc、fputc詳細代碼
gets、puts、fgets、fputs(day08、day17):gets、puts、fgets、fputs 詳細代碼
getchar、putchar(day05、06)
scanf、scanf_s(day07、day08、day17):
sscanf(day08、day17):sscanf使用正則進行格式化輸入、通過sscanf的輸入值的類型限制和根據返回值判斷是否符合輸入要求、sscanf詳細代碼、sscanf作為atoi使用
strtol:把字符串轉換為2到36進制的數據
sprintf、snprintf(day08、day17):snprintf、sprintf作為itoa使用
atoi(day08):不使用庫函數把字符串轉換為int
fprintf、fscanf(day17)
fopen(day17):讀取寫入模式:二進制模式、文本模式、\n和\r\n區別、rb/r/wb/w 的區別(代碼詳細)、ascii/binarymo模式在linux和window之間傳遞數據(day18)???
fclose(day17)
EOF、feof(day17)
fread、fwrite(day18):fread、fwrite代碼詳細
FILE結構體(day18)
fseek(day18):fseek快速創建出大文件(無IO)、rewind把讀寫指針恢復到文件頭位置
ftell(day18)
fflush(day18)
1.gcc編譯(day04):gcc a.c -lm
??Linxu下調試:gdb調試(day22)
2.#include
3.變量的聲明和定義(day04)
4.函數的聲明和定義、函數的形參與實參、函數的返回類型與返回值(day08):指針、數組、指針數組作函數參數
??函數中的return語句(day08)
5.main函數兩種寫法 和 return 0、return -1、return 大于0的數(day04)
6.System系統調用(day04):清屏、退出黑窗口
7.二進制/八進制/十進制/十六進制之間互相轉換(day04)
8.#define / const 定義常量(day04)
9.兩變量互換(利用第三方變量temp、異或)(day05)
10.原碼、反碼、補碼(day05)
11.sizeof / strlen?(day05、day07)
12.%... 類型(day05)
???數據類型本質(C提高講義)
uint8_t/uint16_t/uint32_t/uint64_t?
C語言數據類型的32位和64位不同:char、short、int、long int、long long int、intptr_t、ssize_t、size_t
Linux基本數據類型大?。篶har、short、int、long int、long long int
13.類型所占字節大小(day05)
14.顯式類型提升、隱式類型提升(day05)
15.大端區、小端區(day05)
???10進制數值 轉換為 IP地址
???字節序:大端、小端(C提高講義)
???大端、小端字節序轉換:htonl、ntohl(linux day06)
???htonl、ntohl、htons、ntohs(linux day06)
16.冒泡排序(day07)
???選擇排序(就業班day01)
17.#define(day07):宏函數
???#define 和 typedef 的區別
18.變長數組(day08)
19.有符號數和 unsigned 無符號數(day05)
20.char(day05)
21.除(/)和模(%)的使用(day05)
22.volatile / register(day05)
23.字符串、字符數組(day05):存于json中的base64字符串
24.前++ 和 后++(day05)
25.強轉(float/double),保留有效小數(day05)
26.逗號表達式(day05)
27.switch - case - break - default(day06)
28.goto(day06)
29.break和continue 的區別(day06)
30.while死循環、for死循環(day06)
31.-std=c99(c99對for循環的增強)(day06)
32.求出該整數的二進制的bit位上的 1 的出現的次數(day07)
33.數組(day07)
34.for循環(day07):雙重for循環實現由數字組成的正三角/倒三角
35.逆置數組(day07)
36.srand、rand(day07)
???隨機產生4個不相同的隨機數
37.已定義int arr[100][800],已知a[9][9]的地址為0x0088aaff,求a[99][11]的地址(day07)
38.合并兩個數組,保證合并后的數組中的元素保持有序(day07)
39.GBK、UTF-8(day07)
40.空指針、野指針
41.值傳遞、地址傳遞、指針傳遞
42.const、常量指針、指針常量
???C++中的 const
43.內存對齊
44.static靜態變量(不可重入函數)
45.代碼判斷當前系統是32位操作系統還是64位操作系統?
46.strcat、strncat(day08)
47.strcmp、strncmp(day08)
48.strcpy、strncpy(day08)
???strcpy_s、strncpy_s、strcat_s、data
???strdup(linux day06)
49.strtok(day08)
可重入函數、不可重入函數:strtok、strtok_r、readdir、readdir_r(linux筆記中)
50.多文件編譯(day08):防止頭文件重復包含
51.extern(day08)
??“extern全局變量”的用法(項目二)
52.值傳遞、地址傳遞(day11)
53.strchr、strstr(day11)
54.memset(day11)
55.memcpy、memmove(day11)
???memcmp
56.typedef(day15):typedef結構體類型、typedef數組類型、typedef數組指針類型、typedef函數指針類型、typedef函數指針數組類型
57.淺拷貝、深拷貝(day15)
58.isalnum、isalpha、iscntrl、isdigit、isgraph、islower、isprint、ispunct、isspace、isupper、isxdigit、tolower、toupper(day16)
59.結構體struct?(day15)
???訪問結構體中成員變量的方式
???結構體中的內存對齊、結構體大小:結構體內存對齊(C提高講義)、結構體中的成員變量的偏移量
???結構體數組
???互相交換兩個結構體對象中的成員變量的值、交換兩個結構體對象中的所有數據
???寫入結構體大小的數據到文件中,同樣讀取結構體大小的數據到堆棧中,并使用結構體指針指向堆棧中的多個結構體大小的數據?
???鍵盤輸入,把結構體寫入到文件中;從文件中讀取結構體到程序中打印
???鍵盤輸入,把結構體中short/int/long整數轉換字節序寫入到文件中;從文件中讀取結構體中的short/int/long整數轉換字節序寫入到程序中打印
???結構體中的一級指針
???結構體中的二級指針
???結構體嵌套
???結構體對象作值傳遞、結構體對象作地址傳遞(推薦:地址傳遞)
???C++中的結構體
“密鑰結構體指針->成員變量”對共享內存進行讀寫操作(項目二)
60.聯合體union(共用體)(day15)
61.枚舉enum?(day15)
62.stat:獲取文件的各種屬性,只能用于linux下(day18)
63.rename、remove(day18)
64.計算運行消耗的時間
65.休眠Sleep(window)、sleep(linux)
66.查看漢字的負數ASCII碼值
67.遞歸:十進制轉二進制、翻轉字符數組中的字符
???函數遞歸(C提高講義)
68.qsort快速排序函數、回調函數
79.交換兩個變量的值
70.預處理、文件包含處理、宏定義、#include、條件編譯、防止頭文件重復包含、預定義宏
條件編譯:#if、#else、#endif、#ifdef 、#ifndef
71.#pragma?once與#ifndef?#define?#endif?兩種防止頭文件二次編譯的區別
72.int argc、char* argv / char argv[]、char* env / char env[]
C提高、C++、STL
鏈表(C提高講義)(C提高day06)
鏈表:靜態鏈表、動態鏈表、帶頭節點不帶頭節點的鏈表
單向鏈表的基本操作:增刪改查、增刪查改、鏈表節點排序(鏈表節點整體互換)、鏈表翻轉、鏈表節點整體交換
鏈表實現電子辭典(C提高day07)
斐波那契數列遞歸、非遞歸
遞歸查找出鏈表中倒數第n個節點
逆序打印鏈表節點
鏈表節點翻轉(兩種方式)
單向鏈表版本一的選擇排序(優化版本)
單向鏈表版本二的選擇排序(未優化版本/優化版本)
插入排序
運算符的優先級和結合方向
1.vs代碼模板
2.位運算(C提高day03)
3.加密解密接口(C提高day05)
4.讀寫配置文件(C提高day05)
5.文件拷貝(C提高day05)
6.靜態庫、動態庫(C提高day06)
7.可變參數(C提高day07)
8.求出1到100之和為5050
9.多態:面向接口編程(C提高day07)
??多態(抽象):遵循開閉原則,在不修改原有代碼功能模塊的基礎上,添加新代碼功能模塊
10.C++頭文件格式、using namespace std、cout、cin、endl(day12 C++)
11.三目運算符(day13 C++)
12.::作用域運算符(day13 C++)
13.namespace命名空間、using(day13 C++)
14.C++中的struct(day13 C++)
15.C++中更嚴格的類型轉換(day13 C++)
16.C/C++中的const、#define、volatile const、可變參數數組(day13 C++)
17.引用(day13 C++)
18.內聯函數inline、預定義宏#define的缺陷(day13 C++)
19.函數中形參的默認參數、占位參數(day13 C++)
20.函數重載、extern“C”(day13 C++)
21.VS設置隨機基址(地址)、固定基址(地址)(day13 C++)
22.通過指針獲取變量值、類(結構體)中成員變量值(day13 C++)
23.類中成員的訪問權限、struct和class的區別(day14 C++)
24.成員函數、全局函數的定義和調用、對象成員(day14 C++)
25.構造函數、析構函數、拷貝函數、返回值優化(day14 C++)
26.深拷貝、淺拷貝(day14 C++)
27.初始化列表:1.初始化成員變量值;2.對類中對象成員進行初始化,調用帶參構造器;3.繼承中調用父類構造器(day14 C++)
28.explicit(day15 C++)
29.new、delete(day15 C++)
30.static靜態成員變量、static靜態函數成員、const static成員變量(day15 C++)
???靜態代碼塊、靜態全局變量、靜態局部變量、靜態函數
31.類名::(day15 C++)
32.單例(餓漢式)(day15 C++)
33.面向對象模型(day15 C++)
34.this指針(day15 C++)
35.常量對象、常量函數、mutable(day15 C++)
36.友元類、友元成員函數、友元全局函數(day16 C++)
37.運算符重載概念(day16 C++)
38.重載左移運算符的友元函數(day16 C++)
39.重載右移運算符函數(day16 C++)
40.重載+號運算符函數(day16 C++)
41.重載[]號運算符函數(day16 C++)
42.重載=號賦值運算符函數(day16 C++)
43.重載前置++/--和后置++/--運算符重載(day16 C++)
44.數組類封裝(day16 C++)
45.字符串類封裝(day17 C++)
46.字符串類封裝(day20 C++)
47.重載指針運算符(->和*)函數(day17 C++)
48.重載函數調用()符號函數(day17 C++)
49.重載bool函數(day17 C++)
50.不能重載&&和||(day17 C++)
51.繼承、派生(day17 C++)
52.繼承中的構造和析構、繼承方式與組合方式(day17 C++)
???子類不會自動繼承父類的私有成員和函數
53.子類訪問父類中私有的成員變量:1.通過指針訪問;2.友元(day17 C++)
54.繼承中同名成員的處理方法(day17 C++)
???初始化列表?
55.繼承中的靜態成員(day17 C++)
56.多繼承(day17 C++)
57.菱形繼承(重復繼承)問題,使用虛繼承解決(day17 C++)
58.多態(day18 C++)
???多態練習(圖形父類:矩形圓形子類)、多態練習(動物園、動物、貓狗)
59.實現多態:父類指針/引用指向子類對象,通過父類指針/引用操作子類對象;繼承關系中子類重寫父類的虛函數/純虛函數(day18 C++)
???通過指針調用父類的函數、虛函數和純虛函數
60.虛析構函數、純虛析構函數(day18 C++)
61.重寫、重載、重定義(day18 C++)
62.模板(day19 C++)
63.函數模板(day19 C++)
64.類模板(day19 C++)
65.數組類模板(day19 C++)
66.模板案例:鏈表模板(day19 C++)
67.C++類型轉換:靜態轉換、動態轉換、const常量類型轉換、強制類型轉換(day21 C++)
68.異常、棧解旋(day21 C++)
69.C++標準異常庫(day21 C++)
70.編寫自己的異常類(day21 C++)
71.C++輸入流、輸出流(day21 C++)
72.標準輸入流cin、輸出流cout、控制符格式化輸出、使用流對象有關的成員函數(day21 C++)
73.文件讀寫:ifstream文件輸入流(文件->程序)、ofstream輸出文件流(程序->文件)、read、write、open、close(day21 C++)
???控制符格式化輸出、ofstream輸出文件流重載?
???對文件進行讀寫數據操作:在文件中進行“key = value”格式的數據的讀寫操作(項目二)
獲取當前程序運行的所在絕對路徑信息、拼接絕對路徑信息(項目二)
74.ASCII文件讀寫(day21 C++)
75.二進制文件讀寫(day21 C++)
???IO讀取文件數據,進行排序后,重新寫入到文件中
76.迭代器(day22 C++)
77.string(day22 C++)
78.vector(day22 C++)
79.deque(day22 C++)
???deque容器案例:評委打分案例
80.stack(day23 C++)
81.queue隊列(day23 C++)
???兩個stack棧實現一個queue隊列(day26 C++)
82.list(day23 C++)
83.set/multiset、對組pair(day23 C++)
84.map、multimap(day23 C++)
???multimap案例(day23 C++)
???Map迭代
85.STL容器元素深拷貝、淺拷貝(day23 C++)
86.STL容器使用時機(day23 C++)
87.內建函數對象(包含頭文件functional)(day23 C++)
???創建set/map的同時,使用內建函數對象自定義容器中的元素存儲規則;給sort()函數自定義排序規則
88.函數對象、仿函數(一元仿函數/二元仿函數 等同于 一元謂詞/二元謂詞)(day24 C++)
89.謂詞(一元謂詞/二元謂詞 等同于 一元仿函數/二元仿函數)(day24 C++)
90.函數對象適配器:bind1st/bind2nd(繼承binary_function)、ptr_fun(普通函數適配器:把普通函數轉換為函數對象)、not1/not2取反適配器(day24 C++)
???函數對象適配器實現原理模擬、模板的函數對象適配器實現原理模擬
std::bind 和 std::function
91.mem_fun和mem_fun_ref成員函數適配器(day24 C++)
92.遍歷算法:for_each、transform(day24 C++)
93.查找算法:find、adjacent_find、binary_search、find_if、count、count_if(day24 C++)
94.排序算法:merge、sort、random_shuffle、reverse(day24 C++)
95.拷貝和替換算法:copy、replace、replace_if、swap(day24 C++)
96.算數生成算法:accumulate、fill(day24 C++)
97.集合算法:set_intersection、set_union、set_difference(day24 C++)
98.綜合案例_演講比賽(day24 C++)
QT
-j8/-j4:多核多線程編譯,加快編譯速度
Qt中的QString和QByteArray
indexOf、lastIndexOf
QJsonObject和QByteArray之間的相互轉換
QJsonObject和QByteArray和QJsonArray之間的相互轉換
QJsonArray
QJsonDocument
QJsonObject
QJson
QStringList
1.QWidget窗口基本結構(day01)
2.第一個QWidget窗口(15年QT開發day01)
3.QDebug:輸出調試信息相當于cout(day01)
4.“delete父類對象”會自動把子類對象也同時釋放掉(day01)
5.鏈接信號和槽:發出信號,槽函數處理信號(day01)
6.集合類(QVector、QList、QMap)操作:插入、刪除、修改、遍歷(day01)
??QList<指針*>(象棋中悔棋用法)(day04)
7.QString字符串 和 QByteArray字節數組(day01)
8.文件IO讀寫:QFile、QBuffer、QDataStream(day01)
??QDataStream序列化存儲/讀取數據(day04)
9.消息機制:實現解耦(day01)
10.標準信號和槽(15年QT開發day01)
11.自定義槽函數(15年QT開發day01)
12.兩個獨立的窗口(15年QT開發day01)
13.互相切換兩個獨立的窗口(15年QT開發day01)
14.運行別人代碼要注意(15年QT開發day01)
15.帶參數的信號函數可以重載:解決信號重載函數的二義性(15年QT開發day01)
16.Lambda表達式替換槽函數(15年QT開發day01)
17.坐標系統(15年QT開發day01)
18.QWidget 窗口、QPushButton按鈕控件(day02)
19.QLineEdit:單行輸入控件(day02)
20.QLabel:文本和圖片顯示控件(day02)
21.QComboBox:下拉框控件(day02)
22.QHBoxLayout水平布局控件,按照從左到右水平排列(day02)
23.QVBoxLayout垂直布局,按照從上到下水平排列(day02)
24.grid表格(day02)
25.登陸框實現(day02)
26.函數指針、function函數對象、bind函數:自定義綁定函數(day02)
27.信號和槽(day02)
28.QT內置的信號函數和槽函數(day02)
29.lambel表達式(day02)
30.通過鼠標事件移動窗口:窗口隨著鼠標移動而移動(day03)
31.窗口截圖/全屏截圖(day03)
32.消息的忽略和接受(day03)
33.消息機制、定時器(day03)
34.模態框、彈出自帶的確定取消框、文件打開框(帶格式)(day03)
35.菜單欄、工具欄、狀態欄(day03)
36.修改exe圖標(day03)
Linux
1.VMwareTools:winow上文件直接拉到linux上(day01)
2.綠色版打包(day01)
3.文件(day01)
4.啟動和登錄(day01)
5.根路徑/用戶目錄(day01)
6.程序、進程(day01)
7.錯誤處理(day01)
8.信號、系統調用和庫函數(day01)
9.文件IO(day01)
10.VIM常用命令(day01)
11.VIM配置插件(day01)
12.文件讀寫操作、文件指針、lseek文件共享、文件讀寫效率(day01)
13.dup、dup2、重定向、文件描述符(day02)
14.讀寫文件的原子性問題:O_APPEND、O_EXCL(day02)
15.fcntl、ioctl(day02)
16.刪除正在打開的文件的真實執行順序(day02)
17.文件映射:內存中操作“被映射到進程”的文件(day02)
18.臨時文件、刷新緩存(day02)
19.文件IO常用命令(day02)
20.文件和目錄、文件屬性stat、文件類型、文件訪問權限(day02)
21.分區和掛載(day02)
22.SUID、SGID、StickBit(day03)
23.文件大小、文件類型(day03)
24.inode、數據塊、文件、目錄、路徑和尋址(day03)
25.硬鏈接和軟鏈接(day03)
26.通過程序修改文件的屬性(day03)
27.文件時間(day03)
28.拷貝文件并修改文件屬性(day03)
29.虛擬文件系統(day03)
30.刪除文件和目錄文件夾(day03)
31.打開、讀取目錄文件夾(day03)
32.操作文件、目錄的函數、命令(day03)
33.壓縮、解壓縮、readdir(day03)、遍歷目錄文件夾(day11)
34.進程:PCB、PID、PPID、賬戶id、組id(day04)
35.環境變量(day04)
36.進程狀態(day04)
37.記錄進程運行時間(day04)
38.當前工作目錄和根目錄:getcwd、chdir、chroot(day04)
39.動態庫和靜態庫(day04)
40.申請內存:mmap、alloca(day04)
41.操作進程、操作目錄、申請內存的命令和函數(day04)
42.fork(day05)
???popen
???pipe
???fifo
43.進程退出時自動調用on_exit函數(day05)
44.wait、waitpid回收結束的進程(day05)
45.僵尸進程、孤兒進程(day05)
46.exec執行指定的進程(day05)
47.進程組、session會話(day05)
48.不定參數(可變參數)的函數和宏:va_list/va_start/va_arg(day05)
49.多線程拷貝模擬(day06)
???多線程拷貝(day11)
50.自定義shell:實現外置命令(ls)、內置命令(cd)(day06)
51.信號:忽略信號、發送信號(day07)
52.信號掩碼:掩蓋信號(day07)
53.不可靠信號(day07)
54.可重入函數、不可重入函數:strtok、strtok_r、readdir、readdir_r(day07)
55.SIGCHLD、wait/waitpid回收進程(day07)
56.中斷系統調用(中斷阻塞)(day07)
57.sigaction和sigqueue(day07)
58.操作信號的函數命令(day07)
59.進程間通信的種類(day08)
60.匿名管道(day08)
61.read讀、write寫(day08)
62.命名管道:管道文件(day08)
63.socketpair(day08)
64.父子進程之間:mmap實現內存共享(day08)
65.非父子進程之間:mmap實現內存共享:shm_open、shm_unlink(day08)
66.文件鎖flock(day08)
???記錄鎖fcntl(day10)
67.pthread_mutex_t mutex鎖對象(day08)
68.守護進程(day08)
???守護進程:把服務器端程序的進程切換為守護進程、使用腳本結束守護進程的操作(項目二day06)
69.線程創建(day09)
70.pthread_t線程標識(day09)
71.線程退出(day09)
72.線程回收(day09)
73.線程在客戶端、服務器使用場景(day09)
74.線程不同步問題(day09)
75.pthread_mutex_t鎖對象(day09)
76.循環鎖:解決死鎖;(讀寫鎖)共享鎖/排他鎖(day09)
77.生產者消費者模型(加鎖版本)(day09)
78.生產者消費者模型(不加鎖版本)(day09)
79.條件變量(day09)
80.信號量(day09)
81.可重入函數、不可重入函數:strtok、strtok_r、readdir、readdir_r(day09)
82.分離線程:pthread_detach(day09)
83.線程的其他屬性(day09)
84.thread_local線程私有數據(day09)
85.線程取消(day09)
86.open(day10)
87.高級IO:非阻塞IO(day10)
88.主線程同時讀取鼠標、鍵盤設備文件(問題:造成互相阻塞)(day10)
89.解決一:多線程read兩個設備文件,每個線程各讀取一個設備文件,解決互相阻塞問題(day10)
90.解決二:多路IO,解決互相阻塞問題(day10)
91.多路IO:select(day10)
92.多路IO:epoll(day10)
93.TCP套接字通信、發送方和接收方之間互相收發數據(day11)
94.未封裝的函數實現客戶端向服務器傳輸文件數據(day11)
95.accept、EINTR(day11)
96.封裝的函數實現客戶端向服務器傳輸單文件數據(TCB下未解決粘包問題)(day12)
97.封裝的函數實現客戶端向服務器端傳輸單文件數據(TCB下解決了粘包問題)(day12)
98.封裝的函數實現把指定的目錄和該目錄下的所有文件/文件夾進行傳輸,也可以傳輸單個文件(TCB下解決了粘包問題)(day12)
99.UDP套接字(day12)
100.UDP:發送方(服務器端)和接收方(客戶端)之間進行數據通信(day12)
101.TCP和UDP的區別、read/recv/recvfrom/write/send/sendto、 客戶端和服務器端之間互相收發數據(day12)
102.廣播(day12)
103.組播(多播)(day12)
104.IP地址(day12)
105.使用TCP實現登陸和注冊:只能單用戶登錄(day13)
106.使用TCP實現登陸和注冊:多進程實現多用戶登錄(day13)
107.使用TCP實現登陸和注冊:多線程實現多用戶登錄(day13)
pthread_create創建線程
????int->intptr_t->void*
108.libevent(day15)
109.event_base_new、evconnlistener_new_bind、listen_cb、bufferevent_setcb、readcb、writecb、eventcb(day15)
110.聊天通信(day15)
????error: cannot find -lGL???
111.Http協議和請求報文(day16)
112.curl(day16)
113.Http響應報文(day16)
114.安裝apache(day16)
115.libcurl(day16)
116.curl實現http客戶端、curl發送POST請求數據(day16)
117.通過CGI程序處理客戶端請求(day16)
118.JSON:cJSON(day16)
119.tufao和curl通信:QJson(day16)
????安裝cmake
120.github(day18)
121.聊天窗(day19)
122.TCP通信客戶端、TCP的echo服務器?
編寫一個能判斷客戶端發送的字符串是否是回文的服務器程序、多線程并發服務器
123.arp欺騙
124.滑動窗口
125.多線程和多進程的特點(day13)
126.使用select實現服務器同時和多客戶端進行數據通信(day13)
127.select、poll、epoll之間的區別(day13)
????epoll的ET模式:EPOLLOUT和EPOLLIN觸發時刻
128.使用epoll實現服務器同時和多客戶端進行數據通信(day13)
129.使用epoll和多線程實現服務器,同時和多客戶端進行數據通信、gdb調試(多線程、鎖pthread_mutex_t、條件變量、epoll、EPOLLONESHOT/O_NONBLOCK/EPOLL_CTL_MOD)(day13)
130.使用線程池(多線程、鎖pthread_mutex_t、信號量、epoll、EPOLLONESHOT/O_NONBLOCK/EPOLL_CTL_MOD)(day14)
131.多線程/多進程執行accept(day14)
132.高性能服務器(對象池、多線程、循環鎖pthread_mutex_t、信號量、宏函數、epoll、EPOLLONESHOT/O_NONBLOCK/EPOLL_CTL_MOD)(day14)
133.高性能服務器測試:模擬多客戶端訪問服務器端(day14)
????正確配置Linux系統ulimit值的方法
設置 Linux最大打開文件描述符數
gdb調試核心已轉儲的崩潰的程序
gdb調試死鎖(永久阻塞)的程序、gdb調試多線程的程序
gdb的基本用法
深入分析Sleep(0)與Sleep(1)的區別
????Java中sleep、wait的區別
數據庫
1.MySQL數據庫(day01)
2.window下MySQL客戶端連接Linux下MySQL服務器(day01)
3.對表操作、數據類型、對數據增刪改查、條件查詢、模糊查詢、分組查詢、排序、嵌套查詢(day01)
4.多表聯查(day02)
5.字符串函數、日期時間函數(day02)
6.limit、索引、約束、外鍵、事務、觸發器(day02)
7.存儲過程:把SQL封裝到函數中調用(day02)
8.視圖、數據庫的導入導出、SQL注入(day02)
9.mysql的C語言API函數(day03)
10.mysql的C語言API預處理函數(day03)
11.安裝cmake、mongodb、mongodb的C驅動、C++驅動(day04)
12.網盤項目(day06)
1.安卓:在window上顯示手機app窗口(day01)
2.安卓:打印error、warn、info、verbose、debug信息(day01)
3.安卓:Activity跳轉:綁定按鈕的點擊事件,進行跳轉界面(day01)
4.安卓:Activity生命周期(day01)
5.安卓:給按鈕綁定點擊事件(回調函數)(day01)
6.安卓:自動補全下拉框(day02)
7.安卓:高德地圖(day02)
1.JNI和NDK(day02)
2.配置NDK、ndk-build把C/C++代碼編譯為動態庫(day02)
3.調用native函數,實際調用JNI接口,即為調用動態庫中C/C++代碼(day02)
??在AS中編寫C/C++代碼沒有語法提示,在QT中編寫C++才會有語法提示
4.(1)java通過native函數,把參數傳遞給C/C++的JNI接口類和接收JNI接口類返回的參數;
(2)Java字符串轉換為C++字符串、C++字符串轉換為Java字符串;
(3)JNI不僅定義了java如何調用C/C++,還定義C/C++如何調用java:
1.C/C++如何調用java的系統函數/自定義函數;
2.C/C++調用java函數時,還需要使用javap獲取java函數的方法簽名。(day02)
5.javah、javap(day02)
6.配置JNI支持STL和C++11(day02)
7.阿里云ubuntu配置安裝、本地連接/本地上傳文件到阿里云ubuntu、本地連接阿里云ubuntu的MySQL數據庫(day05)
8.使用MySQL Workbench遠程連接阿里云服務器上的MySQL(day05)
9.不同的ubuntu之間傳輸文件:scp命令(day05)
10.qmake、make編譯項目:項目一的編譯的運行的命令(day05)
11.服務器端(基礎版1.0):tufao服務器、Mysql數據庫連接、sql執行“exec(sql)”、QJson響應數據給客戶端、md5密碼加密(day05)
12.客戶端模擬注冊和登錄操作:libcurl進行http通信,實現客戶端連接服務器,并發送JSON給服務器和接收服務器響應返回的JSON(day05)
13.安卓客戶端(后臺基礎版1.0):Java和C++代碼(登錄模塊)
JNI(Java的native函數對應C++的JNI接口類、Java和C++之間的相互調用和參數傳遞)、c2j/j2c(Java字符串和C++字符串相互轉換)、cJSON、
“libcurl實現客戶端連接服務器端,并發送JSON給服務器端和接收服務器響應返回的JSON”、javah?、項目一環境變量配置、NDK編譯、
項目運行(day05)
14.Redis:配置安裝、redis命令(day06)
15.C語言的客戶通過hiredis庫訪問Redis服務器(day06)
16.Application.mk和Android.mk中的配置用于如何把jni目錄下的C語言文件編譯為動態庫、
手動ndk-build和自動ndk-build:把jni目錄下的C語言文件編譯為動態庫的操作(day06)
17.安卓客戶端配置使用高德地圖(day06)
18.通過腳本中的scp命令,把本地代碼上傳到阿里云服務器上、項目編譯與運行(day06)
19.安卓客戶端的前端部分(基礎版1.0)(day06)
20.安卓客戶端(后臺封裝改進版2.0):Java和C++部分(登錄、注冊模塊)
JNI(Java的native函數對應C++的JNI接口類、Java和C++之間的相互調用和參數傳遞)、c2j/j2c(Java字符串和C++字符串相互轉換)、cJSON、
“libcurl實現客戶端連接服務器端,并發送JSON給服務器端和接收服務器響應返回的JSON”、自定義JSON類封裝cJSON、自定義Curl類封裝CURL庫函數(day06)
21.scp傳輸文件、項目一編譯與運行、切換前臺程序為后臺程序(使用命令或守護進程)(day06)
22.服務器端(增加版2.0):redis數據庫、tufao服務器、Mysql數據庫連接、sql執行“exec(sql)”、QJson響應數據給客戶端、md5密碼加密(day06)
23.make、makefile、cmake、qmake、qmake、pro文件、pri文件和makefile文件(day06)
24.安卓:項目編譯后的apk所在的目錄(day07)
25.安卓:編譯時無法刪除該debug目錄:第一種方式 clean項目;第二種方式 手動刪除build目錄(day07)
26.單向/雙向免密碼登陸:在兩個Linux主機之間ssh互相連接訪問都可免密碼(day07)
27.安卓客戶端的前端部分(增強版2.0)(day07)
28.安卓客戶端(后臺功能完善版3.0):Java和C++部分(登錄/注冊模塊、“查找附近司機”模塊)
JNI(Java的native函數對應C++的JNI接口類、Java和C++之間的相互調用和參數傳遞)、c2j/j2c(Java字符串和C++字符串相互轉換)、cJSON、
“libcurl實現客戶端連接服務器端,并發送JSON給服務器端和接收服務器響應返回的JSON”、自定義JSON類封裝cJSON、自定義Curl類封裝CURL庫函數、Map、單例、
函數指針做回調函數、bind和function做回調函數、GeoHash、私有化拷貝函數/賦值函數禁止在別的類中使用(day07)
29.服務器端(功能增強版3.0):redis數據庫、tufao服務器、Mysql數據庫連接、sql執行“exec(sql)”、QJson響應數據給客戶端、md5密碼加密(day07)
MFC
1.消息隊列、入口函數、窗口創建、消息循環、消息處理(day01)
2.消息映射、字符集(day01)
3.CString
Oracle的虛擬機推薦掛起,不推薦關機
對稱加密、非對稱加密
1.項目框架(day01)
2.Oracle數據庫的安裝配置與啟動(day01)
3.SQL Developer的安裝與連接Oracle數據庫(day01)
4.使用“數據庫腳本”創建Oracle數據庫的表(day01)
5.在OracleDB版本下的Linux上,創建Linux用戶(day01)
6.使用UE連接linux進行文件傳輸(day01)
7.給linux的新增用戶配置進入Oracle數據庫的權限(day01)
8.配置完環境后,啟動項目檢驗是否啟動成功(day01)
9.TLV(ANYBUF結構體)報文的編碼與解碼(day02)
10.項目二使用的動態庫(day03)
11.使用UE連接linux,并瀏覽linux下文件,并對文件進行修改保存
使用UE時:注意編輯的文件的編碼格式要為UTF-8,防止在linux上中文亂碼(day03)
12.window下制作動態庫dll(day03)
13.linux下制作動態庫so(day03)
14.makefile中的語法格式(day03)
15.網絡通信知識(day03)
16.(多線程并發)網絡通信服務器實現(day03)
17.客戶端:使用socketlib動態庫進行socket通信(day04)
18.客戶端:(多線程并發)使用socketlib動態庫中的socket連接池進行socket通信(day04)
19.客戶端:內存冗余法(void*傳遞“存有結構體數據”的堆空間地址),并且(多線程并發)使用socketlib動態庫中的socket連接池進行socket通信(day04)
20.linux內核中的共享內存(day04)
???Window/Linux下共享內存的區別
21.MsgKey_Req(密鑰請求報文)和MsgKey_Res(密鑰應答報文)、MsgEncode(編碼)和MsgDecode(解碼)、MsgMemFree(釋放MsgKey_Req/MsgKey_Res結構體)(day03測試)
22.把“項目的功能實現”的代碼生成為window的動態庫dll(day03測試)
23.調用動態庫中接口函數,測試生成的動態庫dll是否能運行成功(day03測試)
24.把“項目的功能實現”的代碼生成為linux的動態庫so(day03測試)
25.使用make命令執行makefile文件中的編譯命令(day03測試)
26.進程間通信的種類(day05)
27.當前項目編譯的兩種方式(day05)
28.當前項目編譯的兩種方式、使用腳本關閉服務器端程序的進程(day06)
29.守護進程:把服務器端程序的進程切換為守護進程、使用腳本結束守護進程的操作(day06)
30.linux文件中出現^M字符的原因與解決方式(day06)
31.Oracle數據庫啟動、啟動TNS服務(day07)
32.SQL Developer工具連接Oracle數據庫、當前項目編譯的兩種方式(day07)
33.Oracle數據庫基礎sql(day07)
34.Oracle數據庫-事務(day07)
35.Oracle數據庫的原理(day07)
36.Oracle數據庫-操作API(day07)
37.根據錯誤碼提示獲取詳細錯誤原因信息(day07)
38.游標獲取查詢結果集的每行數據(day07)
39.base64編碼(day07)
40.Oracle數據庫中的鎖機制:“for update”(day07)
41.在Oracle數據庫中連續多次使用錯誤的用戶名密碼訪問導致用戶被鎖問題的解決方法(day07)
42.“密鑰結構體指針->成員變量”對共享內存進行讀寫操作(day08)
43.創建一個TNS服務(day08)
44.配置ODBC:使用ODBC連接TNS(day08)
45.MFC框架集成(day08)
46.視圖切分QQ抽屜效果(day08)
47.添加CFormBackground類:使用該類為程序界面添加背景(day08)
48.mfc框架對接-視圖切換效果(day09)
49.配置管理終端功能分析、獲取配置文件所在的絕對路徑(day09)
50.讀取配置文件中數據保存到全局變量(day09)
51.“extern全局變量”的用法(day09)
52.對文件進行讀寫數據操作:在文件中進行“key = value”格式的數據的讀寫操作(day09)
53.獲取當前程序運行的所在絕對路徑信息、拼接絕對路徑信息(day09)
54.創建提示框,讓用戶輸入“連接Oracle數據庫”的賬號密碼(day09)
55.把用戶輸入的“用于鏈接數據庫”的信息保存到后臺中(day09)
56.odbc連接和關閉數據庫(day09)
57.odbc測試連接數據庫(day09)
58.把用戶輸入的“用于連接Oracle數據庫”的信息寫入到ini配置文件(day09)
59.重寫父類的OnInitialUpdate函數,函數中要求要求從數據庫中查詢數據并把查詢結果放到界面中顯示(day09)
60.通過odbc驅動自動生成記錄類:使用記錄類定義中的成員變量,可以直接把成員變量值寫入到數據庫中,或把查詢數據庫的結果集數據自動存到成員變量中(day09)
61.記錄類的說明(day10)
62.記錄類查詢用戶表數據的函數(day10)
63.讀取用戶表中數據回顯到界面的輸入框控件中(day10)
64.把界面中的輸入框控件中的內存保存到數據庫的用戶表中(day10)
linux代碼:
4大基礎組件源碼和動態庫:icdblib、msgderlib、shmlib、socketlib
(頭文件)客戶端和服務器端的socket連接、客戶端的socket連接池
(實行文件、頭文件、動態庫)客戶端和服務器端的socket連接、客戶端的socket連接池
(頭文件)TLV(ANYBUF結構體)的編碼/解碼、密鑰請求報文結構體、密鑰應答報文結構體
(實現文件、頭文件、動態庫)TLV(ANYBUF結構體)的編碼/解碼、密鑰請求報文結構體、密鑰應答報文結構體
(頭文件)數據庫連接/增刪改查
(實現文件、頭文件、動態庫)數據庫連接/增刪改查
(頭文件)共享內存API、共享內存中的密鑰結構體的讀寫
(實現文件、頭文件、動態庫)共享內存、共享內存中的密鑰結構體的讀寫
客戶端:main函數、函數定義的頭文件、實現函數的實現文件
服務器端:main函數、函數定義的頭文件、實現函數的實現文件
MFC代碼:
(頭文件)定義的全局變量
讀寫“secmngadmin.ini”配置文件中的“key = value”數據的實現函數
查詢數據庫中的數據回顯到界面中的輸入框中、界面中的輸入框中的數據保存到數據庫中
按“key = value”格式把數據寫入到“secmngadmin.ini”配置文件中、ODBC進行測試連接Oracle數據庫
MFC程序的main函數:讀取“secmngadmin.ini”配置文件中的用戶信息用于ODBC連接Oracle數據庫
1.項目的簡單架構、傳統的集群、fastDFS的集群和分布式、大文件碎片化式分布式存儲(day01)
2.安裝fastDFS、解決“執行程序缺少so動態庫”的問題(day01)
安裝fastDFS、一般安裝第三方庫的步驟(day01)?
解決“執行程序缺少so動態庫”的問題(day01)
3.修改fastDFS的配置文件:tracker.conf、storage.conf、client.conf、執行fastDFS指令:上傳、下載、刪除文件指令(day01)
修改fastDFS的配置文件:tracker.conf、storage.conf、client.conf;執行上傳文件指令(day01)
執行fastDFS指令:上傳、下載、刪除文件指令(day01)
4.自定義文件上傳功能實現:創建新進程執行“fdfs_upload_file”上傳指令(使用到管道)(day01)
使用腳本管理fastDFS的tracker、storage的啟動和關閉(day01)
??使用fastDFS提供的的上傳功能模塊進行文件上傳、-w、-W、-Wall的區別(day01)
??自定義文件上傳功能實現:創建新進程執行“fdfs_upload_file”上傳指令(使用到管道)(day01)
??LOG函數:日志模塊的集成(day01)
5.fdfs的api的接口實現(day02)
6.redis的api接口封裝實現、安裝redis-hiredis(day02)
fdfs上傳文件的api封裝(day02)
memcached(day02)
memcached的安裝(day02)
memcached的客戶端api(day02)
memcached分布式存儲的實現(day02)
redis的各種數據類型的使用:redis的持久化、redis的配置文件、List、Hash、Set、Zset、Sub訂閱、Pub發布(中文官網:redis.cn)(day02)
7.redis建表:文件fileid和對應的文件相關的屬性、獲取系統時間(day03)
8.nginx的安裝(day03)
9.fastcgi的安裝(day03)
??搭建反向代理服務器(day03)
redis:調用list、string的api接口(二期day03)
redis的事務(二期day03)
nginx的安裝(day03)
nginx的配置文件nginx.conf(day03)
nginx的進程模型、并發模型(day03)
nginx搭建反向代理服務器(day03)
cgi和fastcgi(day03)
fastcgi程序的demo應用示例搭建(day03)
fastcgi的應用程序:可用于獲取GET請求數據(day03)
echo回顯的應用程序:可用于獲取POST請求數據;strtol(day03)
10.使用腳本:獲取進程的進程號ID(day04)
11.int argc、char* argv / char argv[]、char* env / char env[](day04)
12.搭建echo回顯服務器,并使用curl發送POST請求數據測試(day04)
13.nginx部署zyupload上傳頁面(day04)
14.上傳環境搭建,并上傳文件暫時存儲到項目目錄下(day04)
15.上傳文件存儲到fdfsDFS中的storage中,并保存上傳的文件的相關信息到redis數據庫中(day04)
???腳本中啟動redis-server服務器:推薦設置為后臺啟動
???部署 HTML5上傳插件“zyUpload”到服務器上(day04)
處理文件上傳的請求(day04)
解析標準的http文件上傳協議(day04)
redis建表(day04)
16.git的常用指令、git提交代碼(day05)
17.部署網盤前端界面(day05)
18.主界面查詢顯示“寫死的JSON數據”(day05)
19.從redis數據庫查詢文件相關信息并封裝為JSON傳到瀏覽器顯示、下載量增加(day05、day06)
20.cJSON(day05)
上傳文件的頁面配置(day05)
??部署下載文件頁面(day05)
主界面顯示文件列表:redis數據庫查詢文件業務(day05)
瀏覽器從storage中下載文件:要求在storage中搭建有nginx服務器,安裝方法是在nginx中集成fdfs-module(day05)
21.瀏覽器從storage中下載文件:要求在storage中搭建有nginx服務器,安裝方法是在nginx中集成fdfs-module(day06)
22.登錄和注冊(day06)
???下載點擊量增加(day06)
注冊業務(day06)
登錄業務(day06)
網盤文件列表只顯示屬于當前用戶的文件(day06)
網盤文件分享業務(day06)
秒傳功能業務(day06)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
