收藏 / 列表

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

悲傷的鴨蛋 - Maven、測試、Junit依賴

Maven的作用 管理依賴:通過pom.xml管理項目依賴的資源(jar包)。(不再需要每次都手動導入jar包) 項目構建(標準化跨平台的項目構建方式):complie,test,package,install(編譯,測試,打包,發佈)等項目構建流程 統一項目結構:提供標準、統一的項目結構(主程序,測試程序) 倉庫:用於存儲資源,管理各種jar包。 本地倉庫:自己計算機上的

junit , maven , 測試 , JAVA

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

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

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

牛肉燒烤屋 - 超時時間應該設置多長?長尾請求和重試風暴又該如何解決?打造高效穩定的網絡請求!

超時時間 概念 超時時間指系統在等待某個操作響應時設定的最大容忍時間閾值。當操作未在指定時間內完成,系統將主動終止等待並觸發預設處理邏輯 超時可以看做是一種降級手段。因為假設服務永遠能正常運行,我們並不需要超時時間,來保證服務的可用性和穩定性 常見需要依賴超時時間的場景 網絡層:TCP 協議的 connect timeout(Linux 默認 120 秒)、HTTP 請求的 socket ti

微服務 , rpc , 高可用 , 計算機網絡 , 後端

seazhan - 【手寫 RPC】手寫一個RPC框架 使用Netty + java虛擬線程

【手寫RPC框架】如何使用netty手寫一個RPC框架 結合新特性 虛擬線程 什麼是RPC框架 RPC(Remote Procedure Call)遠程過程調用,是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC框架是一種遠程調用的框架,它可以讓你像調用本地方法一樣調用遠程方法。 避免了開發人員自己去封裝網絡請求、連接管理、序列化、反序列化等操作,提高了開發效率。 N

框架學習 , 協程 , rpc , JAVA

王中陽講編程 - 我週末突發奇想,讓AI總結了我們最近做的項目:

見字如面,我是王中陽,祝大家升職加薪,早日上岸。 我週末突發奇想,讓AI總結了我們做的GoFrame分佈式微服務電商項目(https://mp.weixin.qq.com/s/ACzEHtvGh2YsU_4fxo83fQ),做的哪裏好?哪裏不好,有哪些優化的空間。 他是這麼説的: AI回覆:我需要幫你總結項目中關於分佈式微服務和高併發的優秀實踐。讓我先查看項目的主要架構和配置,然後分析其中的亮點

go , 後端

字節幺零二四 - 源碼解讀 | 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 85_maximal_rectangle_最大矩形

一、棧 承接Leetcode 84,柱狀圖算最大矩形面積,把該題入參改為柱狀圖高度即可 PS:這版本手搓int[]做棧和直接用ArrayDeque做棧,結果僅差2ms;但題84相差近15ms。 public int maximalRectangle(char[][] matrix) { if (matrix.length == 0) {

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

我不是碼農 - jpa之hibernate和jackson踩坑記錄

在做的項目採用的是spring jpa,底層默認使用的是orm是hibernate,通過hibernate查詢出來的實體對象實際上都是代理對象,在序列化的時候,我們可能會遇到懶加載導致jackson無法正確解析對象的問題,這個可以通過導入maven包 dependency groupIdcom.fasterxml.jackson.datatype/groupId artifactI

jackson , hibernate , jpa , Json

Java陳序員 - 嘎嘎好用!推薦三款開源的 Redis 桌面客户端!

大家好,我是 Java陳序員。 在日常開發中,經常會使用到 Redis, 為了更好的查看和操作 Redis 中的數據,通常會藉助可視化操作客户端工具。 今天,給大家介紹三款開源的 Redis 桌面客户端工具,開箱即用! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 Tiny RDM 一個現代化輕量級的跨平台 Redis 桌面客户端,支持

redis , github , nosql

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

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

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

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

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

權限控制 , 權限 , JAVA

journey - Spring ThreadPoolTaskExecutor解説

1、ThreadPoolTaskExecutor @Async示例 @Async 註解的作用 異步執行方法: 被 @Async 註解標記的方法會在一個獨立的線程中執行,而不是在調用者的線程中。這意味着調用方法時,調用者線程會立即返回,並且方法的實際執行會在後台進行 提高併發性和性能: 通過異步執行耗時的操作,可以提高應用程序的響應速度和吞吐量。例如,在Web應用中,可以異

async , 線程池 , springboot , JAVA

mb61c46a7ab1eee - 對圖片進行解釋的大語言模型 - 實踐

文章目錄 @[toc] 一、 能夠對圖片進行解釋的大語言模型有哪些? 1. 閉源/商業API(直接使用,無需部署) 2. 開源/可自部署(重點) 二、 開源的有哪些? 三、 哪些可以部署在自己的機器上? 四、 對機器的最低要求是什麼? 分級推薦配

API , 語言模型 , 後端開發 , 模態 , harmonyos

CodePulse代碼脈搏 - 實時代碼分析與智能指導

基於Python開發一個智能編程學習助手,專注於代碼分析和實時指導。 核心功能設計 # ai_coding_tutor.py import ast import inspect from typing import Dict, List, Optional from dataclasses import dataclass from pathlib impo

後端開發 , JAVA , HTML , Json , Python

sangwu - 68. 文本左右對齊

68. 文本左右對齊 給定一個單詞數組words和一個長度maxWidth,重新排版單詞,使其成為每行恰好有maxWidth個字符,且左右兩端對齊的文本。 你應該使用 “貪心算法” 來放置給定的單詞;也就是説,儘可能多地往每行中放置單詞。必要時可用空格' '填充,使得每行恰好有maxWidth個字符。 要求儘可能均勻分配單詞間的空格數量。如果某一行單詞間的空格不

左對齊 , yyds乾貨盤點 , 字符串 , 後端開發 , 兩端對齊 , JAVA

虎斑嘟嘟 - 大模型智能體在醫療影像診斷中的特徵提取與識別

大模型智能體在醫療影像診斷中的特徵提取與識別 隨着人工智能技術的快速發展,大模型智能體在醫療影像診斷領域正掀起一場革命。本文將深入探討大模型智能體如何通過先進的特徵提取與識別技術,改變醫療影像的診斷方式,並提供詳細的代碼實例展示這一過程的具體實現。 醫療影像診斷中大模型智能體的技術基礎 大模型智能體在醫療影像診斷中的核心價值在於其能夠模仿甚至增強人類專家的診斷思

yyds乾貨盤點 , 後端開發 , JAVA , Image , 模態 , 特徵提取

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

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

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

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

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

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

小風箏 - SpringBoot 使用 Sa-Token 完成路由攔截鑑權

一、需求分析 在前文,我們詳細的講述了在 Sa-Token 如何使用註解進行權限認證,註解鑑權雖然方便,卻並不適合所有鑑權場景。 假設有如下需求:項目中所有接口均需要登錄認證校驗,只有 “登錄接口” 本身對外開放。 如果我們對項目所有接口都加上 @SaCheckLogin 註解,會顯得非常冗餘且沒有必要,在這個需求中我們真正需要的是一種基於路由攔截的鑑權模式,那麼在 Sa-Token 怎麼實現路由

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

wx661607c93692e - 從 BPMN 到 Flowable

一、什麼是工作流?為什麼需要工作流引擎? Q1:工作流解決了什麼問題?不用引擎直接寫 if-else 不行嗎? 痛點: 審批流程頻繁變更(如:3級審批 → 5級) 流程節點權限複雜(部門經理、HR、財務) 需要歷史軌跡、催辦、轉辦、撤回等能力 人工代碼維護成本高、易出錯 工作流引擎的價值

後端開發 , 發送郵件 , JAVA , 工作流引擎