收藏 / 列表

老污的貓 - Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and……

問題描述 執行SQL聯表查詢,原始報錯信息 (1267, "Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '='") 這是由於不同表使用了不一致的字符集導致的衝突 解決方案 修改表或字段的格式至同一結構 使用轉格式命令單獨執行本次S

MySQL

大廠碼農老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

打盹的猴子 - 跨域請求(CORS)如何解決?

1. CORS 產生的原因 CORS 全稱為(Cross-Origin Resource Sharing:跨站資源共享),跨域請求是由於瀏覽器的同源策略(Same-Origin Policy)引起的,那麼 CORS 的產生和瀏覽器的同源策略有關係,我們先了解什麼是同源策略。 2. 什麼是同源策略 SOP 是所有的現代瀏覽器都具備的安全措施,它不允許從一個加載的js腳本和資源的 Origin 域與另

JAVA , 跨域 , Javascript

牛肉燒烤屋 - 計算機網絡——常見的跨域方案

跨域是什麼? 跨域問題是瀏覽器的安全機制,即同源策略(Same-origin policy) 限制不同源之間的交互,從而保證資源的安全 同源策略限制內容 Cookie、LocalStorage、IndexedDB 等存儲性內容只有同源才能訪問 AJAX 請求發送後,響應內容被瀏覽器攔截了 DOM 允許跨域加載的資源 img src=XXX link href=XXX scri

JAVA , 計算機網絡 , 後端

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

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

框架學習 , 協程 , rpc , JAVA

王中陽講編程 - 騰訊面試:大廠必問消息隊列場景面試題

今天,我將那些大廠必問的消息隊列的場景問題為大家整理出來,本文將跟大家一起來探討如何回答這些問題。 為什麼要使用消息隊列? 保證消息有序,一個topic只能有一個partition嗎?(消息順序) 業務突然增長,導致消息消費不過來怎麼辦?(消息積壓) 生產者收到寫入成功響應後消息一定不會丟失嗎?(消息丟失) 高併發場景下怎麼保證消息不會重複消費?(重複消費) 如何

騰訊 , 面試問題 , 消息隊列

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

witt - Linux版微信的正確打開方式

關鍵字: 微信、Linux微信 2024年11月4日,Linux版的微信同Windows和Mac OS一起來到了4.0時代,Linux終於站起來了,甚至微信重構話題一度登上熱搜,隨處可見蹭熱度的文章。 微信剛剛發佈官網: https://linux.weixin.qq.com/ 其實universal deb包我已經使用了將近一年時間,功能雖是閹割版,但體驗比deepin-wine的微信強

archlinux , 微信 , manjaro , Linux

步履不停 - mongodb explain分析

記錄下mongodb explain信息,使用的mongodb版本為4.0.9 項目關聯查詢了兩張表用户表與用户登錄日誌表,分別為user_info與user_login_info,腳本如下: db.t_user_info.explain('allPlansExecution').aggregate([{ $lookup:{ from:"t_user_login_info"

索引 , mongodb , explain

Java陳序員 - 佔用資源極低!這款輕量級 Nacos 性能炸裂!

大家好,我是 Java陳序員。 在開發中,Nacos 作為一款非常流行的微服務配置中心、註冊中心,在構建微服務項目時往往會使用到它。 但是對於個人開發者而言,雲服務器資源有限,往往無法撐起 Nacos 服務的高內存使用! 今天,給大家介紹一款輕量級的 Nacos 服務,功能平替,佔用資源極低! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。

github , rust , rpc , JAVA

半夏之沫 - ✨優雅終止✨Java線程

大家好,我是半夏之沫 😁😁 一名金融科技領域的JAVA系統研發😊😊 我希望將自己工作和學習中的經驗以最樸實,最嚴謹的方式分享給大家,共同進步👉💓👈 👉👉👉👉👉👉👉👉💓寫作不易,期待大家的關注和點贊💓👈👈👈👈👈👈👈👈 👉👉👉👉👉👉👉👉💓關注微信公眾號【技術探界】 💓👈👈👈👈👈👈👈👈 前言

JAVA , 併發編程

jacheut - 談談時間輪算法

Kafka、Dubbo、ZooKeeper、Netty、Caffeine、Akka 中都有對時間輪的實現。 時間輪簡單來説就是一個環形的隊列(底層一般基於數組實現),隊列中的每一個元素(時間格)都可以存放一個定時任務列表。 時間輪中的每個時間格代表了時間輪的基本時間跨度或者説時間精度,假如時間一秒走一個時間格的話,那麼這個時間輪的最高精度就是 1 秒(也就是説 3 s 和 3.9s 會在同一個時間

定時任務 , 算法

福 - BlockingQueue - 基於TransferStack的SynchronousQueue

ThreadPoolExecutor以BlockingQueue存儲待執行任務,包括SynchronousQueue、LinkedBlockingQueue和ArrayBlockingQueue,今天的目的是源碼角度深入研究SynchronousQueue。 之後計劃是繼續研究LinkedBlockingQueue和ArrayBlockingQueue,搬開所有絆腳石之後再開始線程池。 基本概念#

多線程 , JAVA , 阻塞隊列 , 隊列

點墨 - QT自定義組件系列1:run一個示例-Custom Widget Plugin Example

1.打開QT示例,Custom Widget Plugin Example 2.選擇編譯環境,注意需要與QT creator保持一致,可以通過Help-About Qt Creator裏查看qt creator的編譯環境,我這裏是Qt 6.2.3(MSVC 2019,64 bit) 3.選擇release構建 4.將生成的customwidgetplugin.dll

plugin , qt

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

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

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

湯太鹹 - 面向對象設計原則

開閉原則(Open Closed Principle,OCP):當應用的需求改變時,在不修改軟件實體的源代碼或者二進制代碼的前提下,可以擴展模塊的功能,使其滿足新的需求。 里氏替換原則(Liskov Substitution Principle,LSP):子類可以擴展父類的功能,但不能改變父類原有的功能。也就是説:子類繼承父類時,除添加新的方法完成新增功能外,儘量不要重寫父類的方法。

JAVA , 面向對象設計模式

華為雲開發者聯盟 - SpringBoot寫後端接口,看這一篇就夠了!

摘要:本文演示如何構建起一個優秀的後端接口體系,體系構建好了自然就有了規範,同時再構建新的後端接口也會十分輕鬆。 一個後端接口大致分為四個部分組成:接口地址(url)、接口請求方式(get、post等)、請求數據(request)、響應數據(response)。如何構建這幾個部分每個公司要求都不同,沒有什麼“一定是最好的”標準,但一個優秀的後端接口和一個糟糕的後端接口對比起來差異還是蠻大的,

後台 , springboot , swagger

cicadasmile - 如何將「知識」體系化管理

積累和總結,是長期持續的過程 01 最近,很多朋友微信私聊關於「butte-java-note」倉庫的話題; 這個「Git倉庫」每年都會基於總結和思考,進行一次分類體系的改動; 多數朋友都比較好奇,整理的思路是什麼? 關於「butte-java-note」倉庫,其實就是個人對知識的積累和框架體系的迭代; 這個倉庫所記錄的內容,就是在工作中不斷遇到的各種「知識點」、「知識塊」、「知識體系」; 在工作

職場 , 知識體系

mob64ca13fe62db - 最新基準測試:Apache Kafka、Apache Pulsar和RabbitMQ哪個最快?_開源_Alok Nikhil

terminal-bench與Apache Kafka:評測事件流處理方案 引言 事件流處理是現代數據架構的核心組件,而Apache Kafka作為分佈式事件流平台,已成為行業標準。本文將介紹如何使用terminal-bench(t-bench)評測基於Apache Kafka的事件流處理方案,幫助開發人員和運維人員快速評估系統性能、

事件流 , 流處理 , 前端開發 , apache , Javascript

mizeyar - OSHI:Java跨平台系統監控的神器,一行代碼搞定!

OSHI:Java跨平台系統監控的神器,一行代碼搞定! 在現代軟件開發中,系統監控是一個不可或缺的環節。無論是開發大型企業級應用還是小型工具,瞭解系統的運行狀態、資源使用情況等信息都至關重要。Java作為一門廣泛使用的編程語言,提供了多種方式來獲取系統信息,但這些方法往往存在侷限性。例如,System.getProperty()只能獲取有限的操作系

MySQL , 操作系統 , 開發語言 , 數據庫 , JAVA , 系統數據 , 監測

野小白 - Spring Data JPA如何保持camelCase默認轉為snake_case,並防止對@Column註解的名字進行轉換

需求背景 對服務進行重構、遷移時,需要對MySQL表列進行映射,但一些老服務上往往存在列命名不規範的問題,大部分仍是snake_case,但也還是存在一些camelCase和PascalCase。如果直接更改原服務中的列命名,需要配合修改兩邊服務中的代碼,代價比較大。儘量希望新服務能夠適配原列名,等全部遷移完成後,再用遷移腳本進行統一更改。 默認設置下,沒有@Column註解的列名會轉為snake

spring , jpa , springboot , JAVA , spring-data-jpa

huan1993 - ForkJoinPool在生產環境中使用遇到的一個問題

1、背景 在我們的項目中有這麼一個場景,需要消費kafka中的消息,並生成對應的工單數據。早些時候程序運行的好好的,但是有一天,我們升級了容器的配置,結果導致部分消息無法消費。而消費者的代碼是使用CompletableFuture.runAsync(() - {while (true){ ..... }}) 來實現的。 即: 需要消費Kafka topic的個數: 7個,每個線程消費一個

線程池 , threadpoolexecutor , JAVA , 後端