博客 / 列表

beckyyyy - ant design vue Table根據數據合併單元格

之前在外包做項目的時候,甲方提出一個想要合併單元格的需求,表格裏展示的內容是領導們的一週行程,因為不想出現重複內容的單元格,實際場景中領導可能連續幾天參加某個會議或者某個其他行程,本來 系統中對會議時間衝突是做了限制,也就是不能創建時間衝突的會議,那麼對重複行程的單元格直接進行合併是沒有問題的;但是後來又放開了限制、又允許存在會議時間衝突的情況了,因為實際中可能存在連續幾天的大會行程中,又安排了幾

ant-design , ant-design-vue , 前端 , Javascript

beckyyyy - antd 上傳文件組件在表單回顯時不顯示下載按鈕

之前需求方提出説想要給表單上傳的文件增加預覽功能,原來點擊展示列表中的文件時,docx文件會啓動下載,而pdf會啓動新的tab頁進入預覽,所以最好是統一處理。 因為我對Upload組件用的不多,對它不夠了解,所以一開始我想着從fileList下手,不用Upload默認的展示列表,經過多番嘗試發現有點麻煩,於是打開官網文檔研究,才發現原來文檔裏已經提供了相關的功能,原來點擊文件的展示列表默認的動作是

upload , 上傳文件 , ant-design , antd , 前端

beckyyyy - cookie、session、web storage

cookie與session的區別 首先,使用cookie和session的目的都是為了跟蹤記錄用户狀態,因為http協議是無狀態的協議,而某些場景服務端需要記錄用户的狀態,如購物車,需要來識別具體的用户,服務端就為特定的用户創建特定的session,用於標識並跟蹤用户; 其次,cookie和session都是會話技術,session保存在服務端,cookie保存在客户端,服務端無法知道請求對應哪

sessionstorage , localstorage , cookie , 前端 , Javascript

beckyyyy - 單頁應用的優缺點

上月面試海康威視的一道面試題。 單頁應用,即常説的SPA,Single Page Application,從名稱上就可以看出它最大的特點,就是單頁面,即只有一個頁面;相對的就是多頁面,即MPA,Multi-Page Application。 在多頁面的情況下,我們在切換不同頁面時,需要向服務器發送多次請求來獲取不同頁面內容,在獲取到內容後,整個瀏覽器視口需要被重新渲染,而等待服務器的響應需要一定的

單頁應用 , 面試問題 , spa , 前端 , Javascript

beckyyyy - WebViewJavascriptBridge.js代碼學習

//notation: js file can only use this kind of comments //since comments will cause error when use in webview.loadurl, //comments will be remove by java use regexp (function() { if (window.WebViewJav

hybrid-app , 前端 , Javascript

beckyyyy - 居中佈局:水平居中和垂直居中

居中佈局在實際場景中很常見,在面試當中也經常會被考察。 以下分別是水平居中和垂直居中常用的樣式。 水平居中 margin: 0 auto; + width 應用於塊級元素居於容器中間 若節點不是塊級元素,需聲明display: block 若節點寬度已隱式聲明則無需顯式聲明width div class="h-c1" p談笑有鴻儒,往來無白丁。談笑有鴻儒,往來無白丁。/p /div

佈局 , 面試 , Css , 前端

beckyyyy - 對BFC的理解

在前端的面試中,相對JavaScript而言,CSS佈局方面考察的內容會相對少一些,其中BFC是佈局樣式方面常考的一個考點。 什麼是BFC BFC,全稱為Block Formatting Context,翻譯過來即塊格式化上下文。 之前在其他文章中看到的説明是,網頁上一個獨立且隔離的渲染區域。現在呢,我稍微查閲了一些官方的信息。 在瞭解BFC之前,我們需要先了解一些其他概念: 包含塊(contai

佈局 , bfc , Css , HTML , 前端

beckyyyy - 可視化學習:WebGL實現簡易的局部“馬賽克”

前言 接觸過Canvas的小夥伴應該都知道,在Canvas2D中我們要加載一個圖片很簡單,通過調用drawImage API就能將圖像繪製到畫布上,當然在WebGL中我們也可以繪製圖像,在繪製時我們需要用到WebGL中的紋理對象,在之前WebGL實現網格背景的文章中,我使用了一個叫做紋理座標的配置,現在要完成紋理的加載我們也需要用到紋理座標,並且我們可以通過對紋理座標處理實現簡單的”馬賽克“效果。

webgl , canvas , 可視化 , 前端

beckyyyy - WebGL:使用着色器進行幾何造型

前言 本文將介紹如何使用着色器來進行幾何造型,説到幾何圖形大家一定都不陌生,比如説三角形、圓形,接觸過WebGL基礎使用的小夥伴一定都知道怎麼去在畫布上繪製一個三角形,只要傳入三個頂點座標,並選擇繪圖模式,我們就能在WebGL的畫布上畫出一個三角形。 但是除了這種形式之外,我們還可以直接使用片元着色器進行幾何造型,那麼具體要怎麼做呢,下面就以三角形作為例子來進行演示。 繪製三角形 要實現三角形的繪

webgl , 圖片裁剪 , 可視化 , 前端

beckyyyy - 可視化學習:使用極座標參數方程和SDF繪製有趣的圖案

前言 本文將介紹如何使用極座標參數方程和上一篇文章提到的距離場SDF來繪製有趣的圖案。 説到曲線和幾何圖形的繪製,我們知道圖形系統默認支持的是通過直角座標繪製,但是有些曲線呢,不太容易使用直角座標系來表示,卻可以很方便地使用極座標來表示,這個時候我們可以選擇通過極座標和直角座標的相互轉換,來實現圖形的繪製。 下面我就用玫瑰線、花瓣線等曲線作為例子來進行演示。 在開始演示之前,我先簡單介紹下極座標和

webgl , canvas , 可視化 , 前端

beckyyyy - 可視化學習 | 如何使用噪聲生成紋理

本文分享的是如何使用噪聲生成紋理。 首先,什麼是噪聲呢?在上篇文章中我介紹過一個生成隨機數的函數,利用隨機技巧我們生成了一個類似剪紙的圖案,那在自然界中,這種離散的隨機也是比較常見的,比如蟬鳴突然響起又突然停下,比如雨滴隨機落在一個位置,但是隨機和連續並存是更常見的情況,比如山脈的走向是隨機的,但山峯之間的高度又是連續的,比如天上的雲朵、水面的波紋等等。 那麼這種把隨機和連續結合起來,就形成了噪聲

webgl , 可視化 , 前端

beckyyyy - 可視化學習:如何使用後期處理通道增強圖像效果

前言 大家好,本文分享的是如何使用後期處理通道增強圖像效果,通過前面幾篇文章,我們瞭解了一些動態生成紋理的方法,比如符號距離場SDF、基於參數方程生成圖案、基於噪聲生成紋理,等等。這些生成紋理的技術有相似的地方,就是根據片元的紋理座標,對片元着色,直接生成紋理。 因為GPU是並行渲染的,每個像素的着色器程序是並行執行的,這樣的渲染很高效。但是在實際需求中,有時我們計算片元色值時,需要依賴周圍像素點

webgl , canvas , 可視化 , 前端

beckyyyy - 可視化學習:如何用WebGL繪製3D物體

在之前的文章中,我們使用WebGL繪製了很多二維的圖形和圖像,在學習2D繪圖的時候,我們提過很多次關於GPU的高效渲染,但是2D圖形的繪製只展示了WebGL部分的能力,WebGL更強大的地方在於,它可以繪製各種3D圖形,而3D圖形能夠極大地增強可視化的表現能力。 相信很多小夥伴都對此有所耳聞,也有不少人學習WebGL,就是衝着它的3D繪圖能力。 接下來,我就用一個簡單的正立方體的例子來演示在Web

3d , webgl , 可視化 , 前端

beckyyyy - 可視化學習:如何生成簡單動畫讓圖形動起來

大家好,本文分享的是如何生成簡單動畫讓圖形動起來。 在可視化展現中,動畫它是強化數據表達,吸引用户的重要技術手段。 在具體實現動畫之前,我們先來了解一下動畫的三種形式,分別是固定幀動畫、增量動畫和時序動畫。 graph LR A[動畫的三種形式] -- B[固定幀動畫] A -- D[增量動畫] A -- E[時序動畫] B -- F[使用已生成的靜態圖像,將圖像依次播放] D -- C[動態繪製

shader , css3 , 動畫 , webgl , 前端

beckyyyy - 閉包是什麼,有什麼用途

這是上月面試碰到的一道面試題,作為一個有着十年開發經驗七年前端經驗的大齡青年,碰到這種沒有一點鋪墊的八股文,真的只想説一句毀滅吧。 記得以前剛做前端不久的時候,就在百度搜閉包,大多搜到的結果都説的是閉包是什麼樣子的,比如説在函數外部可以訪問到函數內部的變量,又或者説閉包會導致什麼問題,比如會影響GC回收。總之沒什麼標準説法,就好像現在網上的吐槽,你背面試題沒用,得和麪試官背的同一套才行,但是天知道

閉包 , 面試問題 , 前端 , Javascript

beckyyyy - 給web增加簡單的ai對話功能

自從 ChatGPT 火了之後,越來越多人開始對 AI 感興趣,AI 的使用也越來越普遍了。現在你隨便點開個知名網站或者 APP,基本都能看到 AI 的影子,而且這些 AI 大多都是用 “問答” 的形式跟人互動,説白了就是 “聊天”。 當然啦,現在的 AI 也不是完美的,比如有時候會瞎編東西(就是大家説的 “AI 幻覺”),但給 APP 加個 AI 功能,確實能讓它變好玩、互動感更強。那咱們

通義千問 , 人工智能 , 前端

beckyyyy - WebSSH的簡單實現

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

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

beckyyyy - puppeteer的簡單使用

引言 對於編寫應用程序,尤其是要部署上線投入生產使用的應用,QA是其中重要的一環,在過去的工作經歷中,我參與的項目開發,大多是由測試同學主要來把控質量的,我很少編寫前端方面的測試代碼,對於測試工具的使用,也基本停留在一個小玩具的樣子,所以接觸的也少,回憶上一次寫單元測試,還是在一個vue3的課程中使用jest實現TDD,記得之前有的時候面試,會被問到有沒有在項目中用單測,但是因為以前工作中大多數時

puppeteer , 自動化測試 , 前端

beckyyyy - 可視化學習:CSS transform與仿射變換

引言 在幾年前,我就在一些博客中看到關於CSS中transform的分析,講到它與線性代數中矩陣的關係,但當時由於使用transform比較少,再加上我畢竟是個數學學渣,對數學有點畏難心理,就有點看不下去,所以只是隨便掃了兩眼,就沒有再繼續瞭解了。現在在學習可視化,又遇到了這個點,又説到這是可視化的基礎知識,既然這樣,那看來還是逃不過去,那就再多瞭解一點吧。 transform的作用 使用過tra

transform , Css , 可視化 , 前端

beckyyyy - 開源地圖庫OpenLayers的簡單使用

引言 最近在學習可視化的東西,這讓我想起了一些以前用過的圖表庫,其實我在日常做的大多是普通的需求,可視化方面應用的並不多,只是偶爾會因為個別特殊的需求,去借助一些圖表庫來實現圖表的展示,這些普通的圖表庫,在使用上都大差不差,並沒有什麼太大的區別,但是某些特殊的圖表庫,比如地圖庫,在使用上和一些普通的圖表,還是存在一些不同,現在想一想還是需要做一些記錄,因為我沒有在當時使用的時候及時記錄,導致我現在

webgis , openlayers , 地圖 , 前端

beckyyyy - 編譯wasm Web應用

剛學完WebAssembly的入門課,賣弄一點入門知識。 首先我們知道wasm是目標語言,是一種新的V-ISA標準,所以編寫wasm應用,正常來説不會直接使用WAT可讀文本格式,更不會用wasm字節碼;而是使用其他高級語言編寫源代碼,經過編譯後得到wasm應用。課程中使用了C++來編寫源代碼,所以這裏我也用C++來編寫demo。 wasm的運行環境主要分為兩類,一類是Web瀏覽器,另一類就是out

emscripten , wasm , webassembly , Javascript , Web

beckyyyy - 瀏覽器緩存原理

本文可以配合本人錄製的視頻一起食用 目的 通常説到瀏覽器緩存,大多是和性能優化有關,使用緩存,通常是兩個主要目的,第一是提高訪問速度,第二是減少網絡IO消耗。 當合理配置了緩存,可以得到提升用户體驗、減輕服務器負擔、節省帶寬等效果,這是一種效果顯著的前端性能優化手段。 四個方面 瀏覽器緩存機制涉及四個方面,按照獲取資源時請求的優先級排序如下: Memory Cache Service Wor

瀏覽器 , 瀏覽器緩存 , 前端

beckyyyy - 【JavaScript高級程序設計】事件

JavaScript與HTML的交互是通過事件實現的,事件代表文檔或瀏覽器窗口中某個有意義的時刻。 可以使用僅在事件發生時執行的監聽器(即處理程序)訂閲事件。=觀察者模式 = 頁面行為(JavaScript中定義)與頁面展示(HTML和CSS定義)的分離。 最早的事件是為了把某些表單處理工作從服務器轉移到瀏覽器上來。DOM2開始嘗試以符合邏輯的方式來標準化DOM事件。IE8是最後一個使用專有事件系

事件 , 前端 , Javascript

beckyyyy - 我的編程之路:這是一個蓄謀已久的大坑

簡單介紹一下自己和目前的工作 畢業工作已四年,前面三年做的是java外包方面的工作,去年的時候腦子發熱、感覺方向迷茫、這份工作不太想做下去了,於是裸辭了,在失業的三個月中一直在思考人生,終究是並沒有什麼收穫,只是更多增添了煩惱和焦慮,在一次無意的面試後,又是腦子一熱,決定轉向前端。目前在一家創業小公司做着前端的工作,入坑六個月左右,感覺尚可。 詳細寫寫你是如何走上編程的道路 在我小時候那會兒,一個

我的編程之路