收藏 / 列表

老污的貓 - 領域驅動設計(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 , 程序員 , 後端

悲傷的鴨蛋 - dependencies、dependencyManagement區別

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

maven , dependencies , dependency-management

打盹的猴子 - Java 設計模式:裝飾者模式(Decorator Pattern)

一、模式定義 裝飾者模式屬於結構型設計模式,允許通過動態包裝對象的方式為對象添加新功能,提供比繼承更靈活的擴展方式。該模式通過組合替代繼承,遵循開閉原則(對擴展開放,對修改關閉)。 二、核心角色 Component(組件接口) 定義被裝飾對象的公共接口 ConcreteComponent(具體組件) 實現基礎功能的具體類 Dec

裝飾者模式 , 設計模式 , JAVA

牛肉燒烤屋 - TCP 真的存在“粘包”問題嗎?

引言 許多開發者都曾面對過這樣一個的問題:明明分別調用兩次send()發送了"Hello"和"World",接收方卻可能在一個recv()調用中讀到完整的"HelloWorld";或是發送了一個完整的 JSON 對象,接收端卻需要多次讀取才能拼湊出完整數據。這種現象被中文技術社區廣泛稱為“TCP 粘包” 然而,若我們深入 TCP 協議的設計本質,會發現一個令人困惑的矛盾——RFC 文檔中從未定義過

tcp , 計算機網絡 , 後端

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 - SpringCloud-WebClient使用Get和Post請求

前言 這是一篇關於SpringCloud中使用webclient調用微服務的總結性文章,使用期間遇到好多問題及其解決方法,希望幫助到大家。 準備 首先我們在SpringCloud項目中配置WebClient,如下所示: @Component public class WebClientConfig { @Bean @LoadBalanced public WebClient

springcloud , JAVA

lindsay_bubble - Leetcode 84_柱狀圖中最大的矩形

給定 n 個非負整數,用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度為 1 。 求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。 想法:感覺這個題考的是數學,是邏輯。 怎麼找矩形呢?就是當前位置的最高點,向左和向右畫矩形,找他比他矮的點left, right,就停止。 高度就是height[i] 寬度就是(right-left+1)-2,因為找到的那兩個點是不能算進

leetcode , , JAVA

wasdquiop - centos7 安裝 nginx

centos7 安裝 nginx 安裝包 鏈接: https://pan.baidu.com/s/1kpAYYX_yy-vXX-1vsCPhoA 提取碼: qrtb 上傳 新創建usr/local/nginx文件夾,放到文件夾下 解壓 tar -zxvf nginx-1.9.9.tar.gz 安裝編譯環境 安裝gcc,源碼編譯依賴 gcc 環境 yum -y install gcc-c+

centos7 , Linux , JAVA , Nginx

Java陳序員 - 叮點跑腿!一套跑腿下單接單系統!

大家好,我是 Java陳序員。 今天,給大家介紹一套開源的跑腿下單接單系統! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 ddrun —— 一套後端基於 Midway3.0、後台採用 Nuxt2.x、小程序採用 Uniapp 實現的跑腿下單接單系統。 系統實現了幫送服務、幫買服務、騎手註冊、騎手接單、用户下單、提現、訂單分配

微信小程序 , nuxt.js , node.js , MySQL

呀哈哈kk - 【詳解】HadoopMapReduce實現從海量數字信息中獲取最大值

Hadoop MapReduce實現從海量數字信息中獲取最大值 在大數據處理領域,Hadoop是一個非常重要的工具。它通過MapReduce編程模型來處理和生成大規模數據集。本文將介紹如何利用Hadoop的MapReduce框架從海量數字信息中找出最大值。 1. 環境準備 1.1 安裝Hadoop 確保你的環境中已經安裝了Hadoop。如果還沒有安裝,可以

hadoop , text , 後端開發 , JAVA , apache

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

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

權限控制 , 權限 , JAVA

mob64ca13fe62db - tableau docker安裝

tableau可視化 When working with geospatial data, it’s often useful to visually inspect the data on a map. In this tutorial, we will be using real cellph

雲計算 , 數據可視化 , tableau docker安裝 , JAVA , Docker , 可視化 , Python

journey - YARN中Service組合模式

1、實例 1.1、定義一個Service接口 public interface Service { void init(Configuration config); void start(); void stop(); } 1.2、定義一個AbstractService抽象類 public abstract class AbstractService implements

組合模式 , yarn

mb61c46a7ab1eee - 深入解析:YOLOv7自然場景Logo檢測項目yolov7-logo-detection (YOLOv7+Flickr27/LogoDet-3K):雙數據集驗證、模型訓練與工業部署實戰

目錄 yolov7-logo-detection項目概述 一、項目目標與核心概念界定 1. 核心目標 2. 關鍵概念區分 二、技術架構:為何選擇 YOLOv7? 1. YOLOv7 的核心優勢 2. YOLOv7 的三大核心組件 3. YOLOv7 的關鍵改進 三、數據集:從小規模驗證到大規模擴展 1. 兩個數據集的核心

數據集 , redis , 數據 , 數據庫 , Python

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

sangwu - 74. 搜索二維矩陣

74. 搜索二維矩陣 給你一個滿足下述兩條屬性的m x n整數矩陣: 每行中的整數從左到右按非嚴格遞增順序排列。 每行的第一個整數大於前一行的最後一個整數。 給你一個整數target,如果target在矩陣中,返回true;否則,返回false。 示例 1: 輸入:matrix = [[1,3,5,

yyds乾貨盤點 , 搜索 , 二維 , Math , 後端開發 , JAVA

虎斑嘟嘟 - 零知識證明與深度學習:打造可驗證的AI推理新時代

零知識證明與深度學習:打造可驗證的AI推理新時代 在醫療、金融和自動駕駛等關鍵領域,人工智能系統正日益成為決策的核心。然而,這些“黑箱”模型如何讓人信任?當AI告訴你不應該批准貸款或患有癌症時,你如何知道這個決策是基於正確的推理,而不是被惡意篡改或包含了偏見? 傳統方法要求完全透明公開模型參數和輸入數據,但這在保護知識產權和用户隱私方面面臨巨大挑戰。 零知識證明

yyds乾貨盤點 , 數據 , 後端開發 , JAVA , ci , 零知識證明

Turbo_K - 如何實現數據庫的不停服遷移?

數據庫不停服遷移 是指在不影響現有系統正常運行的情況下,進行數據庫的遷移操作。這對於保障系統的高可用性、減少停機時間以及提高業務連續性至關重要。以下是幾種常見的實現數據庫不停服遷移的方式和步驟。 1. 數據庫遷移的需求與挑戰 在進行數據庫遷移時,常見的挑戰包括: 業務不中斷:遷移過程中必須確保業務正常進行,避免影響客户或用户。 數據一致性:源數

數據同步 , 數據 , 數據庫 , 後端開發 , JAVA

自由的瘋 - 《分佈式 + 國產數據庫 + Docker:技術選型避坑指南》(十)

一、為什麼必須用 Docker Compose?手動啓動多容器的 “四宗罪” 1. 手動操作的痛點(開發 / 測試環境高頻踩坑) 命令繁瑣:啓動 5 個服務需執行docker run5 次,每次需配置端口映射、環境變量、數據卷,複製粘貼易出錯; 依賴混亂:若先啓用户服務再啓 Nacos,用户服務會因連接 Nacos 失敗反覆重啓; 數據丟失:

yyds乾貨盤點 , jar , 數據 , 後端開發 , JAVA , Docker

小風箏 - 前後端分離架構下使用 Sa-Token 完成登錄認證

一、架構分析 目前絕大多數系統都已經採用 “前後端分離” 架構來設計了,傳統的Session模式鑑權也不再適合這種架構(或者需要額外寫很多的代碼來專門適配)。 Sa-Token 是一個 java 輕量級權限認證框架,專為前後端分離架構打造,主要解決登錄認證、權限認證、單點登錄、OAuth2、微服務網關鑑權 等一系列權限相關問題。 Gitee 開源地址:https://gitee.com/droma

sa-token , 權限控制 , 登錄 , spring , springboot

wx661607c93692e - Java 圖片縮略圖工具類

一、核心需求分析 我們希望工具類支持兩種主流模式: 模式 1:等比縮放(Fit) 在不超過目標寬高的前提下,按原圖比例縮放,空白處留白或透明。 適用:商品圖、文章封面預覽。 模式 2:中心裁剪(Crop) 先等比縮放使圖像覆蓋整個目標區域,再從中心裁剪出指定尺寸。 適用:用户頭像

縮放 , 後端開發 , JAVA , Image