收藏 / 列表

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

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

程序員

大廠碼農老A - CR被批“寫得像坨屎”,我三句話讓他當場閉嘴

這坨屎山,我接了 大家好,我是老A。 我想很多程序員有過這種經歷,新接手一個項目,打開工程一看,妥妥的一大坨🤦,內心OS:好嘛,又要“屎山雕花”了。。。 我這兩年在做電商業務,所以業務上經常會搞大促,3天一小促,5天一大促,作為技術早就習慣了這種研發節奏(倒排)。今年6月是我們業務年中的一次大型大促,所以5月份的需求爆炸多,基本都是倒排,業務天天拿着大喇叭在我們屁股後喊📢:這個需求不做就

segmentfault , springboot , JAVA , 程序員 , 後端

悲傷的鴨蛋 - Mybatis常見運行報錯(持續更新...)

報錯一: Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1 解決辦法: setting - Editor - File Encodings,編碼方式都選擇UTF-8 報錯二: Cause: java.sql

MySQL , JAVA , Mybatis , Web

打盹的猴子 - 策略模式(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 , 消息隊列

王中陽講編程 - 基於 Code 開源版二次開發流程:DDD 架構落地用户模型管理全流程

最近有基於coze開源版做二次開發,踩了不少坑,我把花了幾天時間梳理出來的開發流程分享給大家。 下面以自定義用户接入的模型舉例: coze開源版的模型是在配置文件中配置的,不夠靈活,我們希望讓用户能夠在網站直接配置自己的模型,類似下面這種效果: 大家理解清楚需求之後,看下面的實現思路,你們開發別的功能也可以參考我的開發流程,能讓你少踩很多坑: 一、領域層(Domain - 核心層,聚焦純業

程序員 , 後端

字節幺零二四 - 源碼解讀 | Java中ReentrantLock的實現原理

ReentrantLock 依賴關係如下圖所示 非公平鎖實現原理 ReentrantLock 默認採用非公平鎖。 // ReentrantLock public ReentrantLock() { sync = new NonfairSync(); } 加鎖流程 ReentrantLock 的 lock 方法通過同步器的 lock 方法實現。 // ReentrantLock publi

JAVA , 併發 , juc , 併發編程

Awbeci - Next.js 14集成next-auth(v5)和redux-toolkit最佳實踐

前言 自從next.js14發佈之後,app router變成了官網主推的架構區別於pages router的傳統架構,app router更適合最新的react,於是自己動手把next-auth、redux-toolkit、ant-design、tailwindcss也一同集成進來,分享給大家,如果有錯誤之處歡迎大家指正。 操作 1、創建項目 使用下面命令創建項目,並且選擇tailwind cs

next-auth , redux , next.js

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 - 常用正則表達式整理

常用正則表達式(持續更新) 校驗數字 1 數字:^[0-9]*$ 或者 ^\d$ 2 n位數字:^\d{n}$ 3 正整數:^(0?|[1-9]\d*)$ 4 最多兩位小數:^(0?|[1-9]\d*)(.\d{1,2})?$ 校驗字符 1 漢字:^[\u4e00-\u9fa5]+$ 2 英文和數字:^[A-Za-z0-9]+$

字符串 , 正則表達式 , 程序員

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

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

spring , servlet , spring-mvc , JAVA , sse

Enaium - Jimmer VS MyBatisPlus查詢自關聯表

首發於Enaium的個人博客 本文是對Jimmer文檔中對象抓取器-自關聯遞歸抓取部分的介紹,之後會對比MyBatisPlus的查詢自關聯表的能力。 對象抓取器是 jimmer-sql 一個非常強大的特徵,具備可媲美 GraphQL 的能力。 即使用户不採用任何 GraphQL 相關的技術棧,也能在 SQL 查詢層面得到和 GraphQL 相似的對象圖查詢能力。 準備數據庫和實體類

orm , mybatis-plus , JAVA

Java陳序員 - 19K+ Star!一款基於 Vue3 實現的後台管理系統!

大家好,我是 Java陳序員。 今天,給大家推薦一款基於 Vue3 實現的後台管理系統前端模板框架,適合外包項目,實現快速交付! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 vue-manage-system —— 一套基於 Vue3 + Element Plus + TypeScript 實現的多功能的後台前端模板框架,適

vue.js , github , node.js , yarn , 前端

JavaGuide - 面試官:談談你對 IoC 和 AOP 的理解!

本文摘錄自筆者開源的 Java 學習面試指南(Github 收穫146k star):JavaGuide 。 這篇文章會從下面從以下幾個問題展開對 IoC AOP 的解釋 什麼是 IoC? IoC 解決了什麼問題? IoC 和 DI 的區別? 什麼是 AOP? AOP 解決了什麼問題? AOP 的應用場景有哪些? AOP 為什麼叫做切面編程? AOP 實現方式有哪些? 首先聲

spring , aop , springboot , JAVA , ioc

wayn - 終於有篇文章把後管權限系統設計講清楚了

在常用的後台管理系統中,通常都會有權限系統設計,以用於給對應人員分配不同權限,控制其對後管系統中的某些菜單、按鈕以及列表數據的可見性。 本文將用 waynboot-mall 項目舉例,給大家介紹常見後管系統的權限控制該如何設計。大綱如下, 權限模型 要理解權限控制,我們需要先了解什麼是權限模型。 權限模型是指用於描述用户、角色和權限之間關係的一種抽象模型。不同的權限模型有不同的優缺點,適用於不

權限控制 , 權限 , JAVA

程序員波特 - Java中鎖的解決方案

前言 在上一篇文章中,介紹了什麼是鎖,以及鎖的使用場景,本文繼續給大家繼續做深入的介紹,介紹JAVA為我們提供的不同種類的鎖。 JAVA為我們提供了種類豐富的鎖,每種鎖都有不同的特性,鎖的使用場景也各不相同。由於篇幅有限,在這裏只給大家介紹比較常用的幾種鎖。我會通過鎖的定義,核心代碼剖析,以及使用場景來給大家介紹JAVA中主流的幾種鎖。 樂觀鎖 與 悲觀鎖 樂觀鎖與悲觀鎖應該是每個開發人員最先接觸

lock , , JAVA , synchronized

清醒的人最荒唐 - SpringBoot實現自定義路由覆蓋

背景 公司最近有一個項目二期需要對一些功能進行改造,涉及部分框架內置業務接口個性化定製,兼容老接口功能並且增加一部分新的數據返回,由於前端調用這些接口分佈較多且較為零碎,修改測試成本較大,所以打算在框架層面提供路由覆蓋功能,加快項目進度減少無技術含量的修改帶來的系統風險 設計 提供自定義註解指定需要覆蓋的路由及新路由地址 系統啓動時掃描所有註解

系統啓動 , List , 自定義 , 後端開發 , JAVA

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

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

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

wangfang呀 - Vue 響應式原理:你以為的“頁面自己動”,其實幕後全是黑科技!

哈嘍,各位小夥伴,歡迎來到我是wangfang呀的博客!我是我是wangfang呀,雖然還在編程的“菜鳥”階段,但我已經迫不及待地想和大家分享我一路上踩過的坑和學到的小技巧。如果你也曾為bug頭疼,那麼你來對地方了!今天的內容希望能夠給大家帶來一些靈感和幫助。 前言   第一次寫 Vue 時,很多人都會驚歎:“咦,data 裏一改值,頁面就自己刷新了!”。

數組 , Vue , 後端開發 , JAVA , 響應式

mob64ca13fe62db - stageMode模式 INSTALL_PARSE_FAILED_USESDK_ERROR stage setting

這章中使用的示例,會延續上一章創建的Rails應用chapter2,但是我們會創建一個新的controller。在終端下執行: script/generate controller chapter3 index get_time repeat reverse

機器學習 , xhtml , HTTP , ViewUI , 人工智能 , HTML , Javascript

mb61c46a7ab1eee - SpringAI 本地調用 Ollama - 詳解

SpringAI 本地調用 Ollama 1 Ollama 軟件下載 2 Ollama 模型下載 2.1 PowerShell 下載腳本 2.2 Ollama模型運行 3 SpringAI 1 依賴 2 配置 3 MemConf.java 4 Ollam

spring , MySQL , maven , 數據庫 , JAVA

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(day235):Java 中如何實現分佈式系統的負載均衡?

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

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