收藏 / 列表

點墨 - 編譯器優化對多線程數據競爭的影響分析

編譯器優化如何讓多線程代碼"失效":從彙編視角解密數據競爭謎題 在多線程編程中,我們常遇到一個反直覺現象:關閉編譯器優化反而能暴露預期的數據競爭問題。本文通過分析MSVC編譯器對同一代碼的不同優化策略,揭示現代編譯器如何通過指令重排和內存訪問優化,徹底改變多線程程序的執行軌跡。 一、現象之謎:優化等級決定程序行為 當使用/O2優化編譯給定代碼時,程序輸出穩定在10萬或20萬這兩個確定值,而非預期的

c++ , 多線程

Amejimaobari Ollornwi - Building An Offline-Friendly Image Upload System

So, you’re filling out an online form, and it asks you to upload a file. You click the input, select a file from your desktop, and are good to go. But something happens. The network drops, the file

User Experience , serverless , Javascript

前端路引 - Web前端入門第 90 問:JavaScript 也能無中生有的創建音頻

網頁播放音樂這個常識應該都知道,畢竟百度 MP3 搜索可是風靡一時! 但使用瀏覽器無中生有的創建音頻,在 HTML5 規範落地之前可是一片空白。 AudioContext 的體量與 Canvas 差不了多少,一個針對圖形圖像,一個用於音頻,兩者結合起來就把 flash 給拉下了神壇~~ 本文源之於一次技術研究,曾經有一個需求要用 H5 搞一個網頁 K 歌,技術難點在於要將原唱、伴唱、錄音的音頻數

前端

後山人 - 為什麼 PHP 依然有如此龐大的用户羣?——技術選擇背後的商業邏輯與進化

為什麼 PHP 依然有如此龐大的用户羣?——技術選擇背後的商業邏輯與進化 摘要 儘管每年都有“PHP 已死”的論調出現,但數據顯示,PHP 依然是互聯網上使用最廣泛的服務器端編程語言之一。根據 W3Techs 的統計,截至 2024 年,超過 75% 的網站在使用 PHP [1]。 PHP 的持續流行並非偶然,它是技術進化、商業成本、成熟生態和開發效率共同作用的結果。本文將從四個核心維度,結合 鋭

vue.js , php , Javascript

微芒不朽 - CSS Flex 佈局比 float 更值得學

在現代 Web 開發中,佈局是構建用户界面的核心環節。長期以來,CSS 的 float 屬性曾是實現多列布局的主要手段,但隨着 CSS 技術的發展,Flexbox(彈性盒子佈局)已成為更強大、更直觀、更可靠的佈局方案。本文將從多個維度對比 float 與 Flex 佈局,並闡明為何 Flex 佈局更值得投入時間學習和使用。 1. 歷史背景:從 float 到 Flexbox float 最初設計用

前端

DiracKeeko - [登錄鑑權] cookie、session和token的實現和區別

前言: 本文中的用户端(client)約等於瀏覽器。 服務端就是sever。 cookie、session、token都是由sever生成,保存在client端。 三者最大的不同在於服務端對cookie、session、token的處理。 cookie 1、在client輸入賬號密碼,點擊登錄發送請求 a到sever,sever驗證賬號密碼通過,獲知用户信息。 2、這

token , cookie , 前端 , session

Apifox - REST 和 RPC 的區別是什麼?我們來深入瞭解一下

隨着Web應用程序和分佈式系統的不斷髮展,面向服務的架構和分佈式系統的設計變得越來越重要。在這個領域中,REST和RPC是兩種廣泛使用的架構風格。本文將分別介紹REST和RPC的概念和特點,然後從豐富的角度來分析REST與RPC的差異。最後,我們將分析REST和RPC的適用場景,並展望它們未來的發展方向。 REST和RPC簡介 REST(Representational State Transfe

rest-api , rest , API , rpc , 程序員

銀之夏雪 - 深入剖析為什麼順序調用對 React Hooks 很重要?

在享受 React Hooks 帶來的便捷性的同時,我們必須嚴格遵循順序調用的規則,這一規則的重要性遠超我們的想象。本文將深入探討順序調用對 React Hooks 的重要性,並結合常見的缺陷,通過具體的代碼案例進行詳細闡述,揭示其背後深層次的原理。 一、React Hooks 工作原理 理解 React Hooks 的工作原理是掌握順序調用重要性的關鍵。React 內部維護着一個 Hooks 鏈

react , react-hooks , 前端 , Javascript

linong - 使用 Cursor 修復 Ant Design Pro Components 的 issues

Issue: 🐛 ModalFrom在同時設置了formRef、request和destroyOnClose時,加載過程中關閉ModalForm會報錯 #8858 PR: https://github.com/ant-design/pro-components/pull/9272 最近有個小夥伴在做穩定性建設,整理了一下現有的線上報錯,其中有一個 form.resetFields is n

react , ant-design , typescript , 前端 , Javascript

若川 - Taro 源碼揭秘:8. Taro 是如何使用 webpack 打包構建小程序的?

1. 前言 大家好,我是若川,歡迎關注我的公眾號:若川視野。從 2021 年 8 月起,我持續組織了好幾年的每週大家一起學習 200 行左右的源碼共讀活動,感興趣的可以點此掃碼加我微信 ruochuan02 參與。另外,想學源碼,極力推薦關注我寫的專欄《學習源碼整體架構系列》,目前是掘金關注人數(6k+人)第一的專欄,寫有幾十篇源碼文章。 截至目前(2024-11-07),目前最新是 4.0.7,

react , 小程序 , webpack , 前端 , Javascript

懟懟 - 【js】DOM基礎

DOM 基本概念 節點類型 節點樣式 事件 1 基本概念 Document Object Model 文檔對象模型 BOM:與瀏覽器交互的方法和接口 DOM:處理網頁內容的方法和接口 - HTML和XML的應用程序接口 window是BOM的核心對象,window上的document是DOM的核心 任何HTML或XML文檔都可以用DOM表示為一個由節點構成的層級結

dom , 事件 , Javascript

zsirfs - 深入一點 - 為什麼説splice 效率低呢

原文: https://zswfx.com/articles/5da713302ddd022595ff506a 我們在使用 Array.prototype.splice 方法的時候,都會提及説它速度慢,效率低。尤其在例如 Vue或者React 框架中也不推薦使用,原因是為什麼呢? splice 方法 方法介紹如下: 方法也比較明瞭,就是在數組內刪除或者添加元素。 如下示例: // 添加一個

javascript專題系列 , Javascript

你好2007 - vue 如何實現表單校驗

安裝並使用 首先,在你的vue項目中進行安裝: npm install --save vue-input-check 接着根據不同的vue版本註冊: vue2.js import Vue from 'vue'; Vue.use(inputCheck); vue3.js+ import { createApp } from 'vue'; let app = createApp(App); app

vue.js , validate , form , submit , Javascript

追風的苦咖啡 - 什麼是OV證書?主要應用在哪些領域?

OV 證書全稱是 Organization Validated SSL Certificate,即組織驗證型 SSL 證書,核心是通過驗證企業身份來建立網站與用户間的信任,並加密數據傳輸。 [https://www.joyssl.com/certificate/select/joyssl-ov-single-st...] 一、OV 證書的核心信息 1. 定義與本質 OV 證書是 SSL 證書的三

ssl證書 , 微服務 , Linux

李遊Leo - 你可能不敢想象,2025 年,jQuery要更新到 4.0 了

讓人難以置信的是,jQuery,這個曾經幫助無數開發者簡化 DOM 操作、事件處理和動畫效果的 JavaScript 庫,至今仍在更新。自從 2006 年 8 月震撼亮相以來,它已走過了長達 19 年的路程。還記得麼?他的作者是:John Resig,這個年輕的小夥子也變成老大叔了。 而現在,即便在 React、Vue 這樣的現代框架盛行的今天,或者AI都滿天飛的今天jQuery 仍

jquery , Javascript

南城FE - [譯]原生CSS嵌套使用

本文翻譯自 CSS Nesting,作者:Ahmad Shadeed, 略有刪改。 如果你是一個前端開發人員,那麼你應該使用過CSS預處理器以及預處理器中的嵌套特性。它一直是一個受歡迎的功能,我一直都在使用CSS預處理器。 今年所有的主流瀏覽器都支持原生CSS嵌套:Chrome、Firefox和Safari。這是一個重要的CSS功能,這將使編寫CSS更加容易。在本文中我將記錄到目前為止我所學到的關

sass , css3 , Css , 翻譯 , 前端

beckyyyy - WebSSH的簡單實現

今天我們來看WebSSH的簡單實現。 因為web的便利性,很多傳統功能都有了web端的實現,WebSSH就是其中之一,我是第一次接觸,所以來記錄一下使用。 WebSSH支持終端交互,主要可以分為兩部分,第一是頁面輸入命令行並傳遞給遠程終端,第二是展示命令執行結果,這兩部分現在都已經有具體實現的庫了,所以我們只需要把它們組合起來。 在具體實現之前,需要先準備一個遠程終端,我這裏用的是VMware創建

node.js , websocket , terminal , SSH , 前端

麒寧 - 3分鐘搞定:獲取 URL 查詢參數值

3分鐘搞定:獲取 URL 查詢參數值 在前端開發工作中,利用 URL 進行參數傳遞是一項十分常見的方法。在頁面跳轉時,通過 URL 攜帶某些信息,如狀態、id、區分頁面來源的字段值等。因此,學習瞭解如何獲取 URL 查詢參數值是很重要的。 js 代碼手擼 利用 JavaScript 代碼手擼一個函數,對 URL 查詢參數進行解析。這是方式靈活度高,可以進行更多個性化的操作。 const getSe

前端 , Javascript , url

雲魚 - 七大經典排序算法總結(算法筆試基礎)

前言 前端面試和筆試中被問到最多的算法可能就是各種排序算法了,算法並不難,平時經常用到,但很多時候很少會去認真考慮算法優劣性和適應場景,真正一個一個去分析也需要花不少時時間,所以趁年末有空,不如再複習一遍排序算法。 所有排序算法讀者可自行嘗試coding,想看源碼戳這裏。此文配合源碼體驗更佳! 排序算法評價標準 時間複雜度 一個算法語句總的執行次數是關於問題規模N的某個函數,記為f(N),N稱為問

排序 , 算法 , 面試 , 筆試 , Javascript

轉角處的湯姆 - 前端堆棧存儲:深入理解與應用

在前端開發中,堆棧存儲(Stack Storage)是計算機科學中的一個基本概念,它在許多編程場景中都有着廣泛的應用,尤其是在處理函數調用、遞歸操作以及維護數據的順序時,堆棧起着至關重要的作用。 本文將帶你深入瞭解前端堆棧存儲的概念、實現方式,以及在實際開發中的應用。 目錄 什麼是堆棧? 堆棧的工作原理 在前端中使用堆棧存儲 堆

深度優先搜索 , Stack , 堆棧 , 前端開發 , Javascript

月恆 - Electron 開發:獲取當前客户端 IP

Electron 開發:獲取當前客户端 IP 一、背景與需求 1. 項目背景 客户端會自啓動一個服務,Web/後端服務通過 IP + port 請求以操作客户端接口 2. 初始方案與問題 2.1. 初始方案:通過代碼獲取本機 IP /** * 獲取局域網 IP * @returns {string} 局域網 IP */ export function getLocalIP(): string

node.js , ip地址 , electron , 前端

前端小巷子 - Vue 2深入 keep-alive

Vue 2深入 keep-alive keep-alive 是 Vue 2 運行時裏最常被提及卻最少被深究的內置組件。它看上去只是“把頁面緩存起來”,背後卻涉及實例生命週期劫持、LRU 緩存策略、VNode 複用以及內存管理。 一、設計動機 單頁應用裏常見的“標籤頁”“麪包屑”“分步表單”等交互模式,都要求用户在多個路由或狀態之間來回切換。默認情況下,每一次切換都會觸發舊組件

生命週期 , 緩存 , 複用 , 前端開發 , Javascript

Grewer - 樹形選擇器的使用場景探索

在工作中,樹形選擇器(tree-select)是一種常見的基礎組件, 這次我們針對此組件做一些業務適配 背景: 在一個大型組織(2 萬以上)內,需要有一個選擇人、組的一個選擇器, 支持搜索功能。 一開始我的思路是這樣: 層級加載+後端搜索 **既然數據量很多,那最好不要一次性加載,不然會有以下的一些問題: 問題一是後端的加載速度很慢 二是前端也會手動很大的影響,比如需要開

業務 , antd , 組件化 , 前端 , Javascript