收藏 / 列表

老污的貓 - 領域驅動設計(Domain-Driven Design)

DDD 全稱Domain-Driven Design,意為領域驅動設計,是一種軟件開發的方法論,強調通過領域模型來指導複雜系統的設計與開發,核心概念如下 限界上下文(Bounded Context) 實體(Entity)、值對象(Value Object) 聚合(Aggregate)、領域事件(Domain Event) 通用語言(Ubiquitous Language) DDD M

程序員

大廠碼農老A - 我帶的外包兄弟放棄大廠轉正,薪資翻倍入職字節

大家好,我是老A 國慶節的時候,收到一位粉絲的私信求助。一來一回聊了半天,我發現了一個很多技術兄弟的通病——我們稱之為「收藏夾式努力​」。水文看不上,只想讓大佬推薦技術寶典,一旦拿到手,焦慮感削弱,寶典就在收藏夾裏吃灰,下了班照樣峽谷開黑。當你想督促他深入研究時,他又會用「他是大佬,我不是,我做不到」來給自己設限,最終陷入「持續焦慮,持續躺平」的惡性循環。 這種惰性,是人之常情。但人和人之間

觀點 , JAVA , 程序員 , 後端 , 前端

悲傷的鴨蛋 - dependencies、dependencyManagement區別

對比項 dependencyManagement dependencies 功能 聲明版本(不引入依賴) 實際引入依賴到項目 作用 統一管理版本,避免衝突 決定項目運行時依賴 生效範圍 當前項目及子項目 僅當前項目 版本控制 子項目默認繼承 可覆蓋父項目版本 總結: dependencyManagement:定規矩(版本),不幹活(不引入)。 dependenc

maven , dependencies , dependency-management

打盹的猴子 - 策略模式(Strategy Pattern)深度解析教程

一、模式定義 策略模式屬於行為型設計模式,通過定義算法族並將其封裝為獨立的策略類,使得算法可以動態切換且與使用它的客户端解耦。該模式通過組合替代繼承,符合開閉原則(對擴展開放,對修改關閉)。 二、核心角色 Strategy(策略接口) 定義所有支持的算法的公共接口 ConcreteStrategy(具體策略) 實現策略接口的具體算法

設計模式 , JAVA , 策略模式

牛肉燒烤屋 - 為什麼不應該在事務中嵌套發送 MQ 消息和 RPC 調用?

引言 或許你曾寫過這樣的代碼: @Transaction // 開啓事務 public void craeteOrder(Order order) { saveOrder(order); sendMQ(order); // 或者是發送 rpc } 在一個事務內,向 MySQL 寫入數據,接下來發送 MQ 或 RPC 調用。在大部分情況下,這樣寫好像沒什麼問題 但如果此時我們下游執行

MySQL , mq , JAVA , 事務 , 後端

seazhan - 【RocketMQ 消息中間件】RocketMQ篇之-消息存儲 為什麼性能高 CommitLog 刷盤機制 同步 異步

RocketMQ篇之-消息存儲 RocketMQ作為一款分佈式消息中間件,高可靠性是其最重要的特性之一。 所以需要將消息進行持久化存儲,以保證消息不丟失。 RocketMQ的消息存儲是RocketMQ的核心組件之一,負責消息的存儲和傳輸。RocketMQ的消息存儲主要包括CommitLog、ConsumeQueue、IndexFile、Checkpoint等幾個部分。 (前置)消息存儲交互流

中間件 , JAVA , 消息隊列

王中陽講編程 - Eino 工具開發避坑指南:小白也能看懂的概念拆解 + 實操教程

一文吃透 Eino 工具的核心原理!從 BaseTool 接口、ToolInfo 説明書到 InferTool 實戰,手把手教你寫可運行的 PDF 解析、簡歷評分工具,附帶通用開發模板直接套用~ 這篇文章能讓你: 搞懂Eino工具的核心概念 掌握創建Eino工具的4種方式 拆解項目中工具的實現邏輯 從零寫出可運行的Eino工具 1. 核心概念通俗講(先懂原理再看代碼) Eino的「工具

人工智能 , 程序員

字節幺零二四 - 算法典型例題:N皇后問題,五種解法,逐步優化(非遞歸版)

本文將介紹N皇后問題的五種解法,包括樸素回溯法、對稱優化、標記優化、可用優化、位運算優化,對於每種解題思路,提供相應的非遞歸版代碼實現,最後將對每種解法進行測試,橫向對比每種解法的求解時間。 題目描述 在 N×N 格的國際象棋上擺放 N 個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多少種擺法? 回溯法 解題思路 回溯法採用深度有限的搜索策略遍歷問題的解空間樹,

遞歸 , 算法 , 回溯法

Awbeci - SpringCloud-SpringSecurity+Oauth2:搭建資源服務

前言 之前寫過使用springsecurity搭建認證服務SpringSecurity+Oauth2:密碼授權模式獲取Token(MongoDB+JWT),這篇則寫關於如何搭建資源服務,只有驗證通過的token才能訪問。 操作 1、配置Pom.xml引用spring-cloud-security和oauth2的jar包 2、配置主類@EnableResourceServer註解,開啓資源服務

oauth2.0 , springsecurity

lindsay_bubble - Leetcode 46&47_Permutations_全排列

一、不重複全排列 給定一個不含重複數字的數組 nums ,返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 https://leetcode.cn/problems/permutations/description/ 1、dfs + boolean[] 通過boolean[]記錄 public ListListInteger permute(int[] nums

leetcode , 排列 , JAVA , 回溯法

wasdquiop - centos7 安裝 redis

centos7 安裝 redis redis是由C語言開發,安裝之前需要確保服務器已經安裝了gcc,可以通過如下命令查看機器是否安裝: gcc -v 如果沒有安裝則通過以下命令安裝: yum install -y gcc 安裝包 鏈接: https://pan.baidu.com/s/1dY9QPwWzUM-9bKtCmWIixw 提取碼: qrtb 也可以在線下載 wget htt

redis , arm , centos7 , Linux , JAVA

witt - SseEmitter返回data被雙引號包裹的問題排查

一、背景 最近做接口的性能改造,大概背景如下: 舊: 1.前端每秒輪詢後端接口,接口返回數據狀態,前端用狀態做判斷,變更頁面交互。 2.前端固定調用後端接口,接口阻塞100秒,等待後端隨時返回結果,100秒到達後無結果,直接失敗。 新: 改為ServerSentEvent以text-event-stream固定時間窗口由後端返回處理進度。 二、簡單對比 1.後端服務壓力大。

spring , servlet , spring-mvc , JAVA , sse

Enaium - LSP介紹並實現語言服務

首發於Enaium的個人博客 LSP (Language Server Protocol) 介紹 前段時間我為Jimmer DTO實現了一個 LSP 的語言服務,這是我第一次實現 LSP,所以在這裏我分享一下我實現LSP的經驗。 首先來看一下效果,圖片太多,我就放一部分,更多的可以看jimmer-dto-lsp LSP 是一種協議,用於在 IDE 和語言服務器之間通信。IDE 通過 LS

編程語言 , lsp , ide

Java陳序員 - 一個支持多家雲存儲驅動的公有云文件系統!

大家好,我是 Java陳序員。 在日常生活中,我們會記錄很多精彩的瞬間,或圖片或視頻,並存放在網盤中。 然而,很多商業網盤下載速度慢,而且不能很好地保護隱私。 今天,給大家介紹一個支持多家雲存儲驅動的公有云文件系統,適合搭建私有化網盤服務! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 Cloudreve —— 一個基於 Go

react , github , MySQL , sqlite , go

wayn - Spring Security權限控制框架使用指南

在常用的後台管理系統中,通常都會有訪問權限控制的需求,用於限制不同人員對於接口的訪問能力,如果用户不具備指定的權限,則不能訪問某些接口。 本文將用 waynboot-mall 項目舉例,給大家介紹常見後管系統如何引入權限控制框架 Spring Security。大綱如下, 一、什麼是 Spring Security Spring Security 是一個基於 Spring 框架的開源項目,旨在為

權限控制 , springsecurity , springboot , JAVA , spring-security

用户bPbhIAe - Java 泛型詳細解析

泛型的定義 泛型類的定義 下面定義了一個泛型類 Pair,它有一個泛型參數 T。 public class PairT { private T start; private T end; } 實際使用的時候就可以給這個 T 指定任何實際的類型,比如下面所示,就指定了實際類型為 LocalDate,泛型給了我們一個錯覺就是通過個這個模板類 PairT,我們可以在實際使用的時候動態的派

泛型 , JAVA , 類型轉換

程序員波特 - 三萬字長文總結常見的線性結構

前言   本篇博客主要是記錄手寫這些這數據結構的底層實現,加深對線性結構的理解,實現自己的一個小型數據結構庫,也會進行簡單的時間複雜度分析,對不同的實現進行比較和優化,即側重於代碼實現。由於數據結構是實踐性比較強的一個科目,希望大家在看這篇博客時,自己也去寫一下代碼,看一下運行結果是不是自己想要的,我也會貼出我的運行結果來進行分析。 數組 數組介紹   數組是在內存中存儲相同數據類型的連續的空間,

數組 , 數據結構 , 鏈表 , JAVA , 隊列

華為雲開發者聯盟 - 面試必問:Java 垃圾回收機制

摘要:垃圾回收機制是守護線程的最佳示例,因為它始終在後台運行。 本文分享自華為雲社區《一文帶你瞭解Java 中的垃圾回收機制》,作者:海擁。 介紹 • 在 C/C++ 中,程序員負責對象的創建和銷燬。通常程序員會忽略無用對象的銷燬。由於這種疏忽,在某些時候,為了創建新對象,可能沒有足夠的內存可用,整個程序將異常終止,導致OutOfMemoryErrors。 • 但是在 Java 中,程

jvm , 垃圾回收機制 , 垃圾回收 , JAVA , 對象

wangfang呀 - Vue 單元測試 & 集成測試:把組件從“能跑”變成“可驗證”!

哈嘍,各位小夥伴,歡迎來到我是wangfang呀的博客!我是我是wangfang呀,雖然還在編程的“菜鳥”階段,但我已經迫不及待地想和大家分享我一路上踩過的坑和學到的小技巧。如果你也曾為bug頭疼,那麼你來對地方了!今天的內容希望能夠給大家帶來一些靈感和幫助。 前言 一句話先立旗: 寫測試 ≠ 浪費時間,寫測試 = 把 BUG 容易出現的地方提前炸出來。 這

API , Vue , 後端開發 , JAVA , HTML

mob64ca13fe62db - 【Python】永久使用國內pip鏡像源

Python pip使用簡介和國內鏡像下載 什麼是pip pip 是 Python 的官方包管理工具,用於安裝和管理第三方庫(也稱為“包”或“模塊”)。自 Python 3.4 起,pip 默認隨 Python解釋器安裝,通過命令行使用 pip 命令進行包的安裝、卸載、升級等操作。 通過 pip --version 檢查pip是否安裝。 pip

鏡像源 , 後端開發 , 包名 , Python

半夏微光zhang - Mybatis-Plus分頁查詢實現

導入分頁插件 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerIntercept

User , System , 分頁 , 後端開發 , JAVA

mb61c46a7ab1eee - 深入解析:自定義網絡協議與序列化/反序列化

自定義網絡協議與序列化/反序列化 如果你做過網絡編程,可能會遇到這樣的問題:用TCP發了一個“1+1”的計算請求,對方卻只收到了“1”;或者一次收到了“1+12+3”這種拼接的內容——這時候怎麼判斷哪個是完整的請求?又怎麼把這些字符串解析成能計算的操作數和運算符?這篇文章就從TCP的“天生缺陷”説起,帶你搞懂自定義協議的必要性、序列化與反序列化的核心邏輯,最後通過一個網絡計

oracle , 序列化 , 字符串 , 數據庫 , 反序列化

CodePulse代碼脈搏 - 智能練習生成與進度追蹤

基於AI編程導師,添加智能練習生成和個性化學習路徑功能。 1. 智能練習生成器 # exercise_generator.py import random from typing import List, Dict from enum import Enum class Difficulty(Enum): BEGINNER = "beginner"

List , 後端開發 , JAVA , ci , Json

崽崽233 - Java(day241):Java 中如何使用 ThreadLocal 實現線程局部變量?

大家好,我是不熬夜崽崽!大家如果覺得看了本文有幫助的話,麻煩給不熬夜崽崽點個三連(點贊、收藏、關注)支持一下哈,大家的支持就是我寫作的無限動力。 前言   在多線程編程中,線程之間可能會共享數據。雖然共享數據有時是必要的,但如果不加控制,可能會導致線程安全問題,如數據競態、髒讀等。這種情況下,我們可以使用 線程局部變量(Thread Local Variables)

共享數據 , 後端開發 , 線程安全 , JAVA , 局部變量