原创 Goroutine併發模型理解

併發(並行),一直以來都是一個編程語言裏的核心主題之一,也是被開發者關注最多的話題;Go語言作爲一個出道以來就自帶 『高併發』光環的富二代編程語言,它的併發(並行)編程肯定是值得開發者去探究的,而Go語言中的併發(並行)編程是經由gor

原创 一篇文章理解KMP算法

地址:https://blog.csdn.net/v_july_v/article/details/7041827 自己實現代碼和問題總結:

原创 談黑盒、白盒、單元測試、集成測試、系統測試

公司的項目快做完了,期間涉及到寫了AT和UT,在網上搜了很多資料,在這裏彙總一下,也算一個總結了 黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。 軟件的黑盒測試意味着測試要在軟件的接口處進行。這種方法是把

原创 20190918日記

女朋友前端算是培訓完了,學習過程比我預期的要順利,然而找工作的過程比她自己預期的要曲折,原本以爲女程序猿比較稀缺所以應該會更容易找到纔對,然而並非如此,問了幾個同學推薦下,都是隻招男生,因爲需要996,他們認爲女生吃不了這個苦,看着女朋友

原创 C++ 宏定義 #define 和常量 const 的區別

宏定義 #define 和常量 const 的區別 類型和安全檢查不同 宏定義是字符替換,沒有數據類型的區別,同時這種替換沒有類型安全檢查,可能產生邊際效應等錯誤; const常量是常量的聲明,有類型區別,需要在編譯階段進行類型檢查 編譯

原创 cookie詳解

咱們不搞一開始就一大堆理論知識介紹,怕把人講懵了...... 咱們換一個思維方式——"從現象看本質",先說說我們看到了什麼,再從看到的現象中提出問題,最後深入尋找答案。 我們看到的 cookie 我自己創建了一個網站,網址爲http:

原创 美團技術團隊前端安全系列

前端安全系列(一):如何防止XSS攻擊? https://juejin.im/post/5bad9140e51d450e935c6d64 前端安全系列之二:如何防止CSRF攻擊? https://juejin.im/post/5bc009

原创 優秀博客錄

https://www.cnblogs.com/clover-toeic/category/579078.html    

原创 程序的內存佈局——函數調用棧的那點事

一: https://blog.csdn.net/yang_yulei/article/details/45795591 二: https://www.cnblogs.com/clover-toeic/p/3755401.html htt

原创 編譯原理之可重定位代碼

原文鏈接:https://blog.csdn.net/yesyes120/article/details/78944991 可重定位代碼 是什麼意思呢? 顧名思義,可重定位 就是 可以重新定位 

原创 C++智能指針實現和問題

Share_ptr實現原理 智能指針是什麼 簡單來說,智能指針是一個類,它對普通指針進行封裝,使智能指針類對象具有普通指針類型一樣的操作。具體而言,複製對象時,副本和原對象都指向同一存儲區域,如果通過一個副本改變其所指的值,則通過另一對象

原创 Dubbo RPC面試題

RPC非常重要,很多人面試的時候都掛在了這個地方!你要是還不懂RPC是什麼?他的基本原理是什麼?你一定要把下邊的內容記起來!好好研究一下!特別是文中給出的一張關於RPC的基本流程圖,重點中的重點,Dubbo RPC的基本執行流程就是他,R

原创 什麼是RPC框架

先說說原理。 本地過程調用 RPC就是要像調用本地的函數一樣去調遠程函數。在研究RPC前,我們先看看本地調用是怎麼調的。假設我們要調用函數Multiply來計算lvalue * rvalue的結果: 1 int Multiply(int

原创 new 對象加括號和不加括號的區別

在new對象的時候有加上(),有不加(),不知道這個到底是什麼區別? 比如: CBase *base = new CDerived(); CBase *base = new CDeviced; 很多人都說,加括號調用沒有參數的構造函數

原创 golang中四種方式實現子goroutine與主協程的同步

golang中四種方式實現子goroutine與主協程的同步 文章出處:趙從亮---原文地址 如何實現子goroutine與主線程的同步 第一種方式:time.sleep(),這種方式很太死板,就不演示了。 第二種方式:使用chan