收藏 / 列表

bigsai - 歷時三年,寫了一本數據結構與算法pdf,開源了

前言 大家好,我是bigsai,很早就在寫博客,將文章整理成了一個pdf,並且開源到github上! 自己寫東西斷斷續續也不少時間了,也寫了不少東西(雖然是偏向小白),這個其實花費的時間還是比較多的,這次的話主要將數據結構與算法中一些文章整理出來,初步整理成一版pdf,先分享給大家。 因為在整理pdf方面沒啥經驗,目前還是md直接導出的pdf的,看了下有些部分代碼太長太佔頁面,有些部分圖片太長也很

數據結構 , 算法 , JAVA , 數據結構與算法 , 後端

代碼匠心 - 系統架構設計師-第3章-數據庫

第3章-數據庫 在信息處理領域,由於數據量龐大,如何有效組織、存儲數據對實現高效率的信息處理至關重要。數據庫技術是目前最有效的數據管理技術。數據庫(DataBase,DB)是指長期存儲在計算機內、有組織的、統一管理的相關數據的集合。它不僅描述事物的數據本身,而且還包括相關事物之間的聯繫。數據庫可以直觀地理解為存放數據的倉庫,只不過這個倉庫是在計算機的存儲設備上,而且數據是按一定格式存放的,具有較小

架構設計 , JAVA , 架構師

智定義科技 - #數字人不止於“對話”,更在賦能千行百業

一、建設背景 政策導向     國家層面:國務院發佈《關於深入實施“人工智能+”行動的意見》,明確提出發展“智能服務業態”,推動人工智能在政務、文旅等場景的深度融合,支持構建“自然人、數字人、智能機器人”多元協同的治理與服務模式。     地方政府:多地如江蘇、廣東、上海、中山等省市也相繼出台政策,鼓勵AIGC內容創作、智慧旅遊、智能政務等方向的發展,為數字人產品的落地提供了明確的政策支持與發展路

uni-app , 人工智能 , springboot , JAVA , html5

Turbo_K - mysql的查詢優化器如何選擇執行計劃

MySQL 查詢優化器(Query Optimizer)負責決定如何執行一個查詢,它通過選擇最優的 執行計劃 來實現查詢的高效執行。查詢優化器的目標是根據查詢的複雜性、表的大小、索引的可用性等因素選擇最優的執行路徑。下面將詳細介紹 MySQL 查詢優化器是如何選擇執行計劃的。 1. 執行計劃概述 執行計劃 是 MySQL 查詢優化器選擇的一系列操作步驟,指明如何掃描表

MySQL , 執行計劃 , 查詢優化 , 後端開發 , JAVA

wzw45233 - java數據類型,BigDecimal判斷是否相等

BigDecimal 是一個用於高精度算術運算的類,提供了多種方法來比較兩個 BigDecimal 對象是否相等。 為什麼不推薦使用 == 首先,需要明確一點:不要使用 == 運算符來比較 BigDecimal 對象。 原因如下: == 比較的是對象的引用(內存地址),而不是對象的值。 即使兩個 BigDecimal 對象的值相同,它們也

運算符 , 實際開發 , System , 後端開發 , JAVA

瘋狂迪霸戈 - idea中git暫存撤銷操作

在 IDEA 中,若已將不需要提交的文件 commit 但未 push,可按以下步驟取消該文件與 Git 的關聯且不提交: 步驟 1:撤銷最近一次 commit(保留工作區文件) 需要先撤銷包含該文件的 commit,但保留文件的本地修改(避免丟失代碼)。 在 IDEA 終端執行命令: git reset --soft HEAD~1 --soft

暫存區 , bash , 後端開發 , JAVA , Git

自由的瘋 - 《單元測試與Mock:保證代碼質量(十四)》

單元測試是確保代碼質量的核心手段,通過隔離測試目標代碼(System Under Test, SUT),驗證其邏輯正確性。結合Mock框架(如Moq)可以模擬外部依賴,使測試更可控、更高效。 1. xUnit/NUnit基礎:單元測試框架 1.1 xUnit與NUnit對比

List , Test , Stack , yyds乾貨盤點 , c++ , 後端開發 , c

我愛哇哈哈 - 手把手教你用Tpaddleocr開發桌面端PDF識別工具,工作效率提升10倍!

作為一名資深技術開發,我經常遇到這樣的場景:需要從大量的PDF文檔中提取文字內容,但市面上的工具要麼收費昂貴,要麼識別效果差強人意。直到我發現了百度開源的PaddleOCR,結合Tpaddleocr(Python版本的PaddleOCR封裝),我決定自己動手開發一個桌面端PDF識別工具,效果出乎意料的好! 今天就來分享一下我是如何從零開始,開發出這款高效、準確的PDF識別工具的。

yyds乾貨盤點 , 後端開發 , JAVA , paddle , Python

小風箏 - 對敏感操作的二次認證 —— 詳解 Sa-Token 二級認證

一、需求分析 在某些敏感操作下,我們需要對已登錄的會話進行二次驗證。 比如代碼託管平台的倉庫刪除操作,儘管我們已經登錄了賬號,當我們點擊 [刪除] 按鈕時,還是需要再次輸入一遍密碼,這麼做主要為了兩點: 保證操作者是當前賬號本人。 增加操作步驟,防止誤刪除重要數據。 這就是我們本篇要講的 —— 二級認證,即:在已登錄會話的基礎上,進行再次驗證,提高會話的安全性。 Sa-Token 是一

sa-token , 權限控制 , spring , springboot , JAVA

不止極客 - 百萬架構師第三十課:協調服務-zookeeper:瞭解zookeeper的核心原理|JavaGuide

原文鏈接 瞭解zookeeper及zookeeper的設計猜想 Zookeeper集羣角色 深入分析ZAB協議 從源碼層面分析leader選舉的實現過程 關於zookeeper的數據存儲 回顧內容 zookeeper集羣安裝(myid/zoo.cfg) zookeeper的數據模型(znode) 節點的特性 (持久化、臨時節點、有序節點、同級節點必須唯一、臨時節點不能存在子

JAVA , 分佈式 , 架構師 , 後端

吳大同 - qData數據中台【開源版】 v1.0.6 震撼發佈:全面重構,能力躍升!

所見即所得,全流程沉浸式體驗 —— qData 1.0.6 正式上線! 我們很高興地宣佈,qData 開源版 v1.0.6 正式發佈!這是一次從內到外的深度重構與能力升級,不僅帶來了多項重磅新功能,更對核心模塊進行了系統性優化,修復了大量歷史問題,全面提升穩定性、易用性與可維護性。 無論你是初次接觸數據中台的新用户,還是長期關注 qData 的開發者,本次更新都將為你帶來耳目一新的使用體驗。

大數據 , 開源軟件 , 數據中台 , 數據治理平台

飛天鑄幣 - redis高頻面試題

緩存穿透 概念 緩存穿透是指查詢一個數據庫中不存在的數據,由於這個數據在緩存不存在,所以會直接跳過緩存,直接請求數據庫。 解決辦法 1. 緩存一個空對象 如果查詢的是一個不存在的數據時,可以設置一個短期過期時間的key的數據,然後將它存入緩存中。 2. 布隆過濾器 2.1 先把緩存中的數據的key值存入到布隆過濾器中 2.2 在查詢緩存前,先判斷當前的key值是否存在於布隆過濾器中,其中分為兩個結

redis , 面試 , JAVA

舒一笑不禿頭 - 異步上傳石墨文件進度條前端展示記錄(採用Redis中List數據結構實現)

上篇文章説到,之前使用Redis的String數據結構進行存儲異步上傳石墨文檔的任務狀態,做法有些性能上的問題。 下面簡單列舉一下采用String數據結構進行存儲的劣勢: 缺少歷史記錄:無法追蹤任務執行的完整過程、只能獲取最新狀態,丟失中間狀態信息 併發處理:在高併發場景下需要額外考慮樂觀鎖等機制避免數據覆蓋、需要使用WATCH命令或Lua腳本確保原子性 功能侷限:不支持隊列

文件上傳 , 進度條

Meng小羽 - Phoenix框架 從0到1設計業務併發框架 併發線程池的核心設計

背景 從 0 到 1 設計業務併發框架系列: Phoenix 框架 小米商城產品站革新之路 Phoenix 框架 怎麼組織設計一個框架 前兩篇文章已經講述了我設計框架的背景以及抽象設計的細節,今天講一下併發框架最為關鍵的併發線程池的核心設計,主要講一下在設計線程池劃分遇到的問題以及最終我採用了哪種方式實現的。 將存在依賴關係的 Task 進行劃分分組後,依次執行分組就可以拿到所有想要的結

框架 , 架構設計 , JAVA , 併發

軟件求生 - 別再被問住!Redis Cluster 一文徹底講透(Java 面試必背)

大家好呀,我是 31 歲、愛喝奶茶、愛寫 bug、愛分享技術的小米同學。 今天繼續給大家講一個我親身經歷的——被 Redis Cluster 當場“拷打”的面試故事。 事情是這樣的。 開局:我滿懷自信進場,結果第一問就被“擊倒” 那天我穿着我最喜歡的“小恐龍衞衣”,滿懷信心走進一家互聯網公司的會議室。 面試官看了我一眼,笑了一下,説:“你寫

redis , yyds乾貨盤點 , 數據庫 , JAVA , 高可用

Enaium - 一個腳本讓您的Gradle項目下載速度起飛

首發於Enaium的個人博客 前言 Gradle是一個非常優秀的構建工具,但用過Maven的人都知道,Maven可以設置鏡像,加速下載速度,而Gradle卻沒有這個功能。因為Gradle沒有Maven這麼死板的概念,在Gradle中大部分功能都是通過腳本實現的,所以我們可以通過腳本來實現鏡像的功能。 首先需要了解一下什麼是Initialization scripts,Initialization

gradle

JavaGuide - 面試官:為什麼忘記密碼要重置而不是告訴你原密碼?

這是一個挺有意思的面試題,挺簡單的,不知道大家平時在重置密碼的時候有沒有想過這個問題。回答這個問題其實就一句話:因為服務端也不知道你的原密碼是什麼。如果知道的話,那就是嚴重的安全風險問題了。 我們這裏來簡單分析一下。 做過開發的應該都知道,服務端在保存密碼到數據庫的時候,絕對不能直接明文存儲。如果明文存儲的話,風險太大,且不説數據庫的數據有被盜的風險,如果被服務端的相關人員特別是有數據庫權限的惡

加密算法 , hash , JAVA , go , 後端

wayn - Redis 也支持全文搜索 了?這也太強了

在 2021 年我就瞭解到 RediSearch 這個項目,並已經把它用於我的開源項目 newbee-mall-pro 中。 就我的使用體驗來説,簡單場景下,用來平替 Elasticsearch 的使用場景已經足夠。像是 Elasticsearch 中常用中文分詞插件可以用 RediSearch 替代,但是拼音轉中文插件在 RediSearch 中還沒有功能替代,只能通過個人手段處理。 在 new

redis , jedis , redis-module , JAVA , redis集羣

wangfang呀 - Vue 的 provide / inject:讓數據在組件樹裏“隱形穿梭”

哈嘍,各位小夥伴,歡迎來到我是wangfang呀的博客!我是我是wangfang呀,雖然還在編程的“菜鳥”階段,但我已經迫不及待地想和大家分享我一路上踩過的坑和學到的小技巧。如果你也曾為bug頭疼,那麼你來對地方了!今天的內容希望能夠給大家帶來一些靈感和幫助。 前言 場景痛點 祖孫隔着十幾層,props drilling 傳得人崩潰?

默認值 , 後端開發 , JAVA , 響應式 , ide

鹽焗代碼蝦 - 支付寶接口代簽約失敗排查指南

作為服務商,需要協助沒有開發能力的商家接入業務產品和開發應用的載體,經常要用到支付寶的 接口代簽約 功能,然而在使用過程中若是遇到失敗的情況,就會讓本來是為了提升效率的功能反而拖慢了項目進度,今天我就來簡單盤一盤接口代簽約失敗問題的排查思路,幫助同學快速定位問題原因,效率 up 工資 up ! 一、接口代簽約基礎介紹 在排查問題前,先了解下接口代簽約的工作原理。簡單來講,若商家沒有開通產品

支付寶 , JAVA

我不是碼農 - spring使用@Async註解導致循環依賴問題異常的排查

因為我用到了@async來實現異步操作,在本地跑的時候一直沒有報錯,可是當我打包到服務器啓動的時候卻報了一個BeanCurrentlyInCreationException Bean with name 'xxx' has been injected into other beans [xxx2] in its raw version as part of a circular reference

spring , async , aop , springboot , JAVA

半夏微光zhang - Mybatis-Plus邏輯刪除

概念: 邏輯刪除,可以方便地實現對數據庫記錄的邏輯刪除而不是物理刪除。邏輯刪除是指通過更改記錄的狀態或添加標記字段來模擬刪除操作,從而保留了刪除前的數據,便於後續的數據分析和恢復。 物理刪除:真實刪除,將對應數據從數據庫中刪除,之後查詢不到此條被刪除的數據 邏輯刪除:假刪除,將對應數據中代表是否被刪除字段的狀態修改為“被刪除狀態”,之後在數據庫中仍舊

數據庫 , 後端開發 , JAVA

宇文成都 - 如何使用C#合併PDF文檔

在當今的數字化辦公環境中,PDF文檔已經成為信息交換和存檔的標準格式。然而,在許多業務場景中,開發者會面臨一個共同的需求:將多個PDF文檔合併為一個。無論是為了歸檔、報告生成還是簡化分發,手動操作不僅效率低下,而且容易出錯。因此,尋找一個穩定、高效的編程解決方案變得至關重要。本文將深入探討如何利用 Spire.PDF for .NET 這一強大的工具,幫助C#開發者輕鬆實現PDF文檔的合併,解決實

pdf , c#

崽崽233 - Java(day235):Java 中如何實現分佈式系統的負載均衡?

大家好,我是不熬夜崽崽!大家如果覺得看了本文有幫助的話,麻煩給不熬夜崽崽點個三連(點贊、收藏、關注)支持一下哈,大家的支持就是我寫作的無限動力。 前言   在現代微服務架構中,負載均衡是一個至關重要的概念。負載均衡通過將請求分發到多個服務器實例上,從而確保系統的高可用性、可靠性和可擴展性。在分佈式系統中,負載均衡能夠有效地處理大量的併發請求,避免單一服務節點的過載,

spring , 服務器 , 負載均衡 , 後端開發 , JAVA