博客 / 列表

軟件求生 - 為什麼説 String 是 JavaScript 中“最安靜卻最危險”的類型

大家好,我是 31 歲、愛折騰代碼、也愛把技術講成故事的小米。 如果你寫 JavaScript 的時間夠久,一定會有一種感覺: JS 裏最熟悉、用得最多、但又最容易被忽略的類型,就是 String。 我們天天在用它,卻很少認真“聊一聊它”。於是有一天,我在敲代碼的時候突然腦補了一個畫面: String 不是字符串,它是一

字面量 , yyds乾貨盤點 , 字符串 , 插值 , 前端開發 , Javascript

軟件求生 - 面試必問:Redis 緩存雪崩,別再只會背定義了

有一天凌晨 2 點,監控突然像過年放鞭炮一樣,全紅。QPS 飆升、數據庫 CPU 100%、連接池打滿、報警電話響到我懷疑人生。同事迷迷糊糊地問我一句: “是不是緩存雪崩了?” 那一刻,我才真正意識到: Redis 不只是快,它也可能是一場“雪災”。 從一個真實又殘酷的故事説起 想象一個場景。你在北方某城市

redis , yyds乾貨盤點 , 緩存 , 數據庫

軟件求生 - 程序員的最強外掛:用 Spring AI 解鎖智譜 AI 畫圖能力

如果你問我,什麼時候第一次真正意識到「AI 不只是寫代碼的助手,而是一個能被你指揮的創作者」? 不是在 ChatGPT 寫文章的時候,也不是在 Copilot 自動補代碼的時候。而是那天,我用 Spring AI 調了一次智譜 AI 的圖像模型。 那一刻,我的感覺特別像你本來只是個程序員,突然學會了揮畫筆。 從“畫畫”説起:我們小時候都當過畫師 小

機器學習 , 強類型 , yyds乾貨盤點 , 自動生成 , 人工智能 , Json

軟件求生 - 面試官一問 RedLock,我才發現自己以前真的只會用 Redis

大家好,我是小米,今年 31 歲,一個在 Java 世界裏摸爬滾打多年的程序員大哥哥。 前幾天,我在幫朋友模擬社招面試的時候,面試官突然拋出一個問題: “你瞭解 Redis 的 RedLock 嗎?它解決了什麼問題?” 朋友愣了三秒鐘,憋出一句: “呃……分佈式鎖的一種實現?” 面試官點點頭,又補了一刀:

redis , yyds乾貨盤點 , 分佈式鎖 , 加鎖 , 數據庫

軟件求生 - JavaScript 變量的江湖恩怨:一篇文章徹底講清楚

很久很久以前,在 JavaScript 世界裏,有一個叫變量鎮的地方。這裏住着三兄弟:var、let、const。他們都能“裝東西”,但性格、規矩、出身背景完全不一樣。也正因為這三兄弟的性格差異,程序員江湖裏每天都在上演各種事故現場。 今天,我就帶你走進變量鎮,看看他們各自是怎麼“翻車”的,又該如何正確相處。 老大哥 var:江湖老油條 1、var 關鍵

變量聲明 , 作用域 , yyds乾貨盤點 , 賦值 , 前端開發 , Javascript

軟件求生 - 用了十年 Redis,我第一次認真思考“16 個庫”這件事

那是一個普通得不能再普通的下午。我端着一杯已經涼了的美式,坐在視頻面試前,心想: “Redis 我天天用,緩存、分佈式鎖、限流、秒殺,閉着眼都能聊。” 面試官一開口也很友好: “Redis 用得多吧?” 我自信點頭。 “那我問個簡單點的,Redis 為什麼設計了 16 個數據庫?”

redis , yyds乾貨盤點 , 數據庫 , 多實例

軟件求生 - 小米的奇幻編程之旅:當 JavaScript 語法變成了一座魔法城

很多人第一次學 JavaScript 語法時,都覺得它像一座迷宮:規則很多、坑也不少。 而我那天晚上敲代碼敲到困,眼睛一閉一睜,居然穿越到了一個叫 “JS 魔法城” 的奇怪地方。城門口立着一塊大牌子,上面寫着: “來者止步:進入本城,請遵守 JavaScript 語法,否則法術失敗、代碼報錯、Bug 會追着你跑。” 我揉揉眼睛,心説:這

標識符 , 大小寫 , yyds乾貨盤點 , 嚴格模式 , 前端開發 , Javascript

軟件求生 - 社招必問:分佈式 Redis 前期做還是後期做?看完你就懂了

大家好,我是小米,一個 31 歲依舊熱愛折騰技術的程序員。 今天要跟你嘮一個我親身經歷過的、關於 Redis 的故事。故事有點長,但保證你看完就永遠忘不了面試官問的那句: “分佈式 Redis 是前期做,還是等規模上來了再做?” 我會用一個“倉鼠糧倉”的故事,把分佈式 Redis 的邏輯講得明明白白。準備好了嗎?開講! 那一年,我

單實例 , redis , 服務器 , yyds乾貨盤點 , 數據庫

軟件求生 - JavaScript 王國的“信使”:一個關於 script 標籤的故事

如果你問我,前端世界裏最容易被低估、但權力又最大的標籤是誰? 我會毫不猶豫地告訴你:不是 div,不是 span,而是 script。 因為沒有它,HTML 就像一張“死去的地圖”,CSS 也只是“漂亮的外殼”。而 script,就是那個能讓頁面活過來的信使。 今天我想給你講一個故事。一個發生在“網頁王國”裏的故事。 script元素:網頁王國裏的

yyds乾貨盤點 , 加載 , Css , 前端開發 , HTML , Javascript

軟件求生 - 能進大廠的 Redis 分佈式鎖,和你現在寫的差在哪?

大家好,我是小米,今年 31 歲。寫這篇文章的時候,我正坐在公司工位上,盯着 禪道 上一個“看似簡單”的 Bug 單子發呆。這個 Bug 的標題只有一句話: “生產環境:訂單重複扣款,概率出現” 如果你是 Java 工程師,看到這句話,後背基本已經開始冒冷汗了。那一刻,我腦子裏閃過的不是 JVM,不是 GC,也不是 SQL,而是一個老朋友——

redis , 服務器 , yyds乾貨盤點 , 分佈式鎖 , 數據庫

軟件求生 - 學 JavaScript 前,這 4 個詞你必須懂:JS、ES、DOM、BOM

大家好,我是 31 歲的小米,一個每天都被技術“精神按摩”的程序員。你要問我為什麼?大概是因為,每次接觸技術,我都能像拆開盲盒一樣,發現裏面的驚喜和坑點並存,讓我每天都能深刻感受到:生活不易,但寫代碼真香。 今天,我想跟你講一個關於 JavaScript 的故事。不,是“一次前端世界奇妙旅行”的故事。 我第一次遇見 JavaScript,是在一個深夜的 deb

yyds乾貨盤點 , 網頁內容 , 開發者 , 前端開發 , 桌面應用 , Javascript

軟件求生 - 別隻背八股!這篇講透 Redis 分區,讓你面試不再心虛

“兄弟,我跟你説,我今天差點當場原地昇天。” 我一屁股癱在工位上,把電腦包往桌上一丟,整個人像從 40°C 的機房裏逃出來一樣。隔壁工位的小王抬頭看了我一眼:“咋了,又面試了?” 我點點頭:“對,還是社招那套八股文。但今天這個面試官,兄弟,堪稱 Redis 分區界的李白——題目一出,直接把我送上天。” 小王哈哈一笑:“Redis 分區那玩意?” 我

單實例 , redis , yyds乾貨盤點 , 客户端 , 數據庫

軟件求生 - 面試官最愛問的坑:Redis 明明單線程,為什麼多核能吃滿?

大家好,我是 31 歲的小米,一個寫代碼十幾年、踩坑踩成見坑就想講故事的技術 UP 主。今天這篇文章的靈感來自上週一個社招 Java 面試候選人。他坐在我對面,手心微微冒汗,卻盯着我一臉篤定地回答:“Redis 是單線程的,所以用不上多核 CPU,這就是 Redis 慢的原因。” 我愣了三秒。Redis 慢?Redis 覺得自己受到侮辱。 我當場把水杯放下,對

單線程 , redis , yyds乾貨盤點 , 數據庫 , 多線程

軟件求生 - 我在面試被問懵:Redis 集羣為什麼只能用 0 號數據庫?

大家好,我是小米,一個 31 歲、依然在互聯網行業打怪升級的技術人。 今天要跟你聊一個我在 社招面試中差點翻車的問題: “Redis 集羣模式下,如何選擇數據庫?為什麼很多項目只能用 0 號庫?” 這個看似簡單,卻能把無數 Java 工程師搞得滿頭問號。更離譜的是,面試官往往喜歡用這道題來判斷你對 Redis 架構底層原理是否真正吃透。

redis , yyds乾貨盤點 , 數據 , 數據庫

軟件求生 - Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!

大家好吖,我是你們 31 歲、還在持續折騰技術的小米。最近幾天我沉迷了一件事——用 Spring AI + Azure OpenAI 做圖像生成,越玩越停不下來。 你有沒有這種感覺: 當年我們還在研究“怎麼優化圖片加載速度”,結果現在直接一句 prompt,AI 就幫你把圖畫好。不僅會畫,還會理解你的意圖,甚至能幫你畫得更好。 而且!S

機器學習 , 封裝 , yyds乾貨盤點 , azure , 人工智能 , JAVA

軟件求生 - SpringAI + 圖像模型:一篇搞懂 OpenAI、智譜、千帆怎麼選

那天中午,我正在公司樓下買煎餅果子。 前面排隊的是產品經理阿強,他一邊啃着雞蛋灌餅,一邊問我一句:“小米啊,我們能不能用 AI 自動生成商品海報?一個促銷海報人肉 PS 三個小時,設計師要崩了。” 我腦子裏“叮”的一聲:SpringAI + 圖像生成模型,這不就用上了嗎? 然後我就開啓了一場從“煎餅果子”到“企業級 AI 圖像生成平台”的奇幻漂流。今天,

機器學習 , 生成模型 , yyds乾貨盤點 , azure , 人工智能 , JAVA

軟件求生 - 面試官最愛問:生產環境 Redis 怎麼部署?這套標準答案直接封神

大家好,我是你們的老朋友,小米,一個31歲還在禿頭邊緣瘋狂掙扎的 Java 打工人。 前幾天,我帶了一個剛準備社招跳槽的學弟,陪他去面試。他回來以後,一臉生無可戀地問我一句話: 師哥,面試官問我:“你們生產環境的 Redis 是怎麼部署的?” 我當時腦子直接宕機,只憋出一句:“我們用的是…阿里雲的…Redis。” 然後就沒然後了……

redis , yyds乾貨盤點 , 數據 , 緩存 , 數據庫

軟件求生 - 3 分鐘講透 Redis 主從複製,社招面試穩了

有一次,我去參加一個大廠社招面試。 下午三點,會議室冷氣開得像北極,我穿着優衣庫薄外套,手裏捏着簡歷,感覺像剛被從 Redis 緩存裏淘汰出來的過期 key。 面試官很穩重,敲了兩下桌子,開口問了第一句: “來,説説 Redis 集羣的主從複製模型,你在項目裏怎麼用的?” 那一瞬間,我的腦子像 Redis 重啓,先冷、再熱、最後進

redis , yyds乾貨盤點 , 數據 , 數據庫 , 主從複製

軟件求生 - 面試官一句“Redis 主從會嗎”,我當場講了20分鐘

我先給你講個故事。前幾年我剛進一家公司,業務漲得特別猛,一開始我們用 Redis 就是很“樸素”的:一個 Redis 實例,所有請求都懟上去。 剛開始很爽,QPS 上千感覺自己是扛着服務器在飛。結果有一天,大促來了。凌晨兩點,監控報警。Redis CPU 飆到 90%,延遲肉眼可見地抖,接口 RT 從 30ms 飆到 800ms。 那一刻我就懂了一個真理:

redis , yyds乾貨盤點 , 數據 , 緩存 , 數據庫

軟件求生 - 從懵逼到自信:Redis 基於代理分片一篇搞懂

事情發生在一個普通得不能再普通的週二。 我坐在一家準備接入千萬級流量的公司會議室裏,喝着他們的免費美式(講真,很難喝),對面是一個技術面試官,眼神平靜,嘴角帶點殺氣。 他翻了翻簡歷,問:小米啊,Redis 分片你瞭解幾種? 我一愣,下意識條件反射:“客户端分片、代理分片、Redis Cluster。” 他點了點頭,然後抬頭,那你重點説説:基於代理服

redis , yyds乾貨盤點 , 客户端 , 數據庫 , 代理服務器

軟件求生 - Redis 分片你只會 Cluster?這套客户端 Sharding 才是老項目救命稻草

大家好,我是你們31歲愛折騰、愛總結、愛踩坑也愛分享的小米。這周我被一個剛跳槽成功的粉絲私信戳到: 小米哥,面試官連問我三輪 Redis 集羣,我啥都答對了,結果最後被他一句: “你們有沒有用過客户端分片?講講你們的 Redis Sharding 怎麼設計的?” 我當場破防…… 説實話,這題要是放在三年前,我也得沉默良久。但現

redis , yyds乾貨盤點 , 數據 , 客户端 , 數據庫

軟件求生 - 從 0 到 1 玩轉 Spring AI + 智譜 AI 向量模型,RAG 工程師都在用!

事情是這樣的。 上週,我負責的一個智能問答項目,老闆突然説一句話: “小米啊,我們要做知識庫檢索,搞個類似 RAG 的東西,支持語義搜索。” 我當場愣住:語義搜索?知識庫?向量?Embedding? 老闆微微一笑:“別慌,用 SpringAI 接智譜 AI。” 那一刻,我的人生彷彿聽見了 命運的 Callback。於是,就有

機器學習 , yyds乾貨盤點 , 搜索 , 屬性表 , 向量空間 , 人工智能

軟件求生 - 別再被問住!Redis Cluster 一文徹底講透(Java 面試必背)

大家好呀,我是 31 歲、愛喝奶茶、愛寫 bug、愛分享技術的小米同學。 今天繼續給大家講一個我親身經歷的——被 Redis Cluster 當場“拷打”的面試故事。 事情是這樣的。 開局:我滿懷自信進場,結果第一問就被“擊倒” 那天我穿着我最喜歡的“小恐龍衞衣”,滿懷信心走進一家互聯網公司的會議室。 面試官看了我一眼,笑了一下,説:“你寫

redis , yyds乾貨盤點 , 數據庫 , JAVA , 高可用

軟件求生 - 讀這一篇,你能把哨兵模式講給 HR 聽她都能懂!

大家好,我是小米,31 歲,熱愛技術、熱愛分享、熱愛奶茶(雖然醫生説我應該喝無糖)的大哥哥。 最近又陪朋友刷 Java 社招面試,他一臉生無可戀:“面試官又問我 Redis sentinel 哨兵模式,我記得好像是監控主從的?但細節我又忘了……” 我拍着他的肩膀,遞上一杯奶茶,笑着説:“兄弟,這題我用一杯奶茶講給你聽。聽完包你從懵到精通。” 喝口奶茶,我

redis , yyds乾貨盤點 , 客户端 , 數據庫 , 高可用