Java 21 新特性:Record Patterns
Record Patterns 第一次發布預覽是在JDK 19、隨后又在JDK 20中進行了完善?,F在,Java 21開始正式推出該特性優化。下面我們通過一個例子來理解這個新特性。 record Point(int x, int y) {} static void printSum(Object o ...
Denpendcy Injection 8.0新功能——KeyedService
Denpendcy Injection 8.0新功能——KeyedService 本文只介紹 .NET Denpendcy Injection 8.0新功能——KeyedService,假定讀者已熟練使用之前版本的功能。 注冊帶Key的類 8.0之前,注冊一個類往往是AddSingleton<IFo ...
記一次 .NET 某餐飲小程序 內存暴漲分析
一:背景 1. 講故事 前些天有位朋友找到我,說他的程序內存異常高,用 vs診斷工具 加載時間又太久,讓我幫忙看一下到底咋回事,截圖如下: 確實,如果dump文件超過 10G 之后,市面上那些可視化工具分析起來會讓你崩潰的,除了時間久之外這些工具大多也不是用懶加載的方式,比如 dotmemory 會 ...
開源框架中的責任鏈模式實踐
責任鏈模式作為常用的設計模式而被大家熟知和使用。本文介紹責任鏈的常見實現方式,并結合開源框架如Dubbo、Sentinel等進行延伸探討。 ...
數據庫sql中判斷時間沖突
數據庫現有數據其中兩列: s - 開始時間, e - 結束時間. 在新插入數據s', e'之前需要判斷兩個時間之間是否有重合 因為使用mybatis-plus的緣故, 結論都使用s或e在符號前面. 1. s < e 比如yyyy-MM-dd HH:mm:ss格式的數據, 多用于判斷預約時間和每日排班 ...
用Rust手把手編寫一個Proxy(代理), UDP綁定篇
用Rust手把手編寫一個Proxy(代理), UDP綁定篇 項目 ++wmproxy++ gite: https://gitee.com/tickbh/wmproxy github: https://github.com/tickbh/wmproxy 了解UDP 特點 UDP是基于IP的簡單協議,不 ...
TCP vs UDP:揭秘可靠性與效率之爭
在網絡通信中,TCP和UDP是兩種最常用的傳輸層協議。本文將深入探討TCP和UDP之間的區別,包括連接方式、服務對象、擁塞控制、流量控制和首部開銷等方面,幫助讀者在不同應用需求下選擇適合的協議。無論你是技術愛好者還是網絡工程師,這篇文章定能幫助你了解并應用TCP和UDP的差異,提升你的網絡傳輸效率和... ...
Redis持久化 (RDB和AOF) 梳理
Redis有兩種持久化方案: RDB持久化 AOF持久化 RDB持久化 RDB全稱Redis Database Backup file(Redis數據備份文件),也被叫做Redis數據快照。簡單來說就是把內存中的所有數據都記錄到磁盤中。當Redis實例故障重啟后,從磁盤讀取快照文件,恢復數據??煺瘴?...
如何實現瀏覽器標簽頁之間的通信
瀏覽器標簽頁之間通信的實現 使用場景 ? 前端開發過程中,總是避免不了要進行前端標簽頁之間的通信,最經典的例子莫過于音樂播放網站中,當第一次點擊播放列表中的歌曲時,它會打開一個新的標簽頁進行播放,而當在列表中再次點擊歌曲播放時,并不會再多打開一個標簽頁,而是會在剛才新打開的標簽頁上播放歌曲。 方式方 ...
6.2 Sunday搜索內存特征
Sunday 算法是一種字符串搜索算法,由`Daniel M.Sunday`于1990年開發,該算法用于在較長的字符串中查找子字符串的位置。算法通過將要搜索的模式的字符與要搜索的字符串的字符進行比較,從模式的最左側位置開始。如果發現不匹配,則算法將模式向右`滑動`一定數量的位置。這個數字是由當前文本... ...
Node.js 20 —— 幾個令人大開眼界的特性
摘要:本文由葡萄城技術團隊于博客園發布。轉載請注明出處:葡萄城官網,葡萄城為開發者提供專業的開發工具、解決方案和服務,賦能開發者。 前言:歡迎來到 Node.js 20 Node.js 20 已經發布,帶來了創新和激動人心的新時代。這個開創性的版本于2023年4月18日首次亮相,并將在2023年10 ...
【matplotlib基礎】--動畫
matplotlib的動畫一直是一個強大但使用頻率不高的功能,究其原因,一方面展示動畫需要一定的媒介,沒有圖形和文字展示方便;二來大家更關心的是分析結果的最終圖表,圖表的動態展示則沒有那么重要。 不過,隨著短視頻的興起,在短視頻平臺上展示動畫變得非常容易,所以,我們發現有越來越多的數據分析動畫(比如 ...
什么是 x10 開發工具?「GitHub 熱點速覽」
都聽過 10x 工程師,一個人頂得過十個人。但是并不是每個人都是 10x 工程師,但是有些效率工具可能讓你變成 2x、3x 的工程師。比如,這周火爆的 3D 游戲引擎 FlaxEngine 有著強大的腳本和即開即用的功能特性,極簡只有 2.3 kb 的 JS 工具庫 nuejs,還有網頁版的 whi... ...
Cplex求解教程(基于OPL語言,可作為大規模運算輸入參考)
最近導導讓牛牛改篇論文,牛牛在她的指導下把非線性問題化成了線性。然鵝,化成線性后的模型決策變量和約束條件均達到上百甚至上千個,這讓牛牛犯了難,以下方法或許能為這樣大規模模型的變量和約束輸入提供思路(???? ???) 一、問題描述及模型建立 指派問題: 分配\(n\)人去做\(n\)項工作;每人做且 ...
遷移學習:互信息的變分上下界
在機器學習,尤其是涉及異構數據的遷移學習/聯邦學習中,我們常常會涉及互信息相關的優化項,我上半年的第一份工作也是致力于此。其思想雖然簡單,但其具體的估計與優化手段而言卻大有門道,我們今天來好好總結一下,也算是對我研一下學期一個收尾。為了解決互信息估計的的難解性,我們的方法是不直接對互信息進行估計,而... ...
我的 Windows 文件管理哲學
前言 作為一個不合格的 Geek,我經常面臨把 Windows 弄崩潰的尷尬處境,我的系統因此重裝了一遍又一遍……不過在一次次的重裝中,我逐漸總結出了于我個人而言行之有效的文件管理哲學,在此略做總結。 管理方法 磁盤分區 我個人對磁盤分區沒有什么特別的需求,現代的操作系統與電腦一般不會出現崩潰到不得 ...
6.1 KMP算法搜索機器碼
KMP算法是一種高效的字符串匹配算法,它的核心思想是利用已經匹配成功的子串前綴的信息,避免重復匹配,從而達到提高匹配效率的目的。KMP算法的核心是構建模式串的前綴數組Next,Next數組的意義是:當模式串中的某個字符與主串中的某個字符失配時,Next數組記錄了模式串中應該回退到哪個位置,以便繼續匹... ...
salesforce零基礎學習(一百三十一)Validation 一次的bypass設計
本篇參考: https://admin.salesforce.com/blog/2022/how-i-solved-it-bypass-validation-rules-in-flows 背景:作為系統的全局考慮,我們在設計validation rule / flow / trigger時,往往會使 ...
使用js開發一個快速打開前端項目的alfred插件
使用js開發一個快速打開前端項目的插件 目錄 前言 使用的技術棧 步驟 問題發現 待優化 前言 一直以來開發都是先打開vscode,然后選擇項目,在項目多的情況下會覺得挺繁瑣;如果同時打開了許多vscode窗口,尋找目標窗口也比較麻煩,于是萌生了開發一個alfred的工作流插件的想法,目標是在alf ...