原创 babylon.js 學習筆記(3)
一、理解babylon.js 座標系 const createScene = function () { const scene = new BABYLON.Scene(engine); const camera =
原创 babylon.js 學習筆記(1)
簡單來說,babylon.js 是一個能跑在瀏覽器上的(3D)遊戲渲染引擎,而且官方提供了一個友好在線交互學習平臺Playground,其開源項目在github上star數截止2023.05.14高達20.6K。下面是官方文檔的學習筆記 :
原创 babylon.js 學習筆記(2)
如何在網頁中嵌入設計好的模型? 接上回繼續,我們設計好精美的模型後,最終總要展示給客戶,比如利用playground畫了1個方塊: const createScene = () => { const scene = new BA
原创 java線程池使用小技巧:自定義拒絕策略
java 線程池默認提供了幾種拒絕策略: 這幾個策略都實現了RejectedExecutionHandler,拿DiscardOldestPolicy來說,查看源碼: 核心代碼只有2行: e.getQueue().poll() 從列表
原创 java中如何處理夏令時?
在國際化的項目中,處理時間時經常會遇到夏令時(BST,British Summer Time)問題,發明夏令時(以及冬令時)主要是爲了省電。 冷知識:中國歷史上也曾經採用過(1986-1991)夏令時,後來因爲各種原因,最終取消了這一制
原创 Rust常用併發示例代碼
記錄幾個常用的併發用法: 1、如何讓線程只創建1次 先看一段熟悉的java代碼: void method1() { new Thread(() -> { while (true) { Sys
原创 tauri學習(7)-事件(event) tauri學習(3)-前端調用Rust代碼
接上節繼續,今天來研究tauri的事件(event),假設老闆提了個需求,希望能實時監控cpu、內存等性能指標,你會怎麼做? 思路1: 後端Rust暴露1個command,前端js不停去輪詢(參考前文:tauri學習(3)-前端調用Rust
原创 tauri學習(5)-Splashscreen啓動界面
接上節繼續,本文將研究splashscreen,也就是程序的啓動界面,通常有2二種應用場景: 1、程序太複雜,主界面完成加載需要很長時間,爲了優化用戶體驗,可以先放一個啓動圖片,緩解用戶等待的焦慮。 2、播放啓動廣告,手機應用上很常見,進入
原创 tauri學習(4)-多窗口
接上節繼續,今天研究tauri中的多窗口,要實現多窗口有幾種方式: 一、改配置tauri.conf.json 仍然以react項目模式爲例,假設我們有2個頁面效果: 在瀏覽器中運行起來長這樣: tauri中,如果想開2個窗口,分別對應於
原创 tauri學習(3)-前端調用Rust代碼 react+rust+webAssembly(wasm)示例
接上節繼續,今天研究tauri中,前端如何調用Rust代碼。 一、無返回值&無傳參 main.rs中加1個hello方法: 然後在main方法中,參考下圖暴露hello1: Rust代碼準備好之後,前端(假設是react框架)就能調用了
原创 tauri學習(2)-a鏈接僞類visited失效問題
接上節繼續,在前端開發中,a鏈接常用a:visited僞類,用於區分鏈接點擊過後的呈現效果。 在tauri項目模板中,把App組件中添加3個鏈接: 然後在App.css中添加幾個樣式: 程序跑起來後,卻意外發現:其它幾個僞類都起作用
原创 tauri學習(1)-初體驗
tauri是一個類似Electron的框架,允許前端程序員來開發桌面應用程序,外層的殼採用Rust語言開發,相比Electron生成的可執行程序更小,今天嘗試了下,感覺還不錯,按官網的教程只需執行下的命令(mac環境) npm creat
原创 react+rust+webAssembly(wasm)示例
前言:WebAssembly(簡稱wasm)已經出來有幾年了,在一些需要高性能的web應用場景中,wasm技術可以讓代碼執行效率大大提升。react做爲目前大廠主流的前端框架之一,搭配上最近幾年一直越來越火的Rust語言,可以很好的結合起來
原创 監控瀏覽器tab切換或最小化事件
背景:最近遇到1個項目,業務方調用了後端1個開銷較大的接口,用於頁面實時監控一些關鍵指標,頁面是自動定時請求接口刷新數據,隨着用戶的增加,後端壓力比較大,分析發現,很多用戶日常使用過程中,並不是一直盯着屏幕看,有時候人離開了(比如下班),或
原创 面試中關於字符串及常量池的一些考點
字符串及常量池在面試中很容易被問到,前2天在爲公司做校招面試時,發現很多同學對相關細節不太清楚,在此梳理一下: 先回顧一下java中字符串的設計,大家都知道jvm中有所謂的"字符串常量池"設計,當String s = "xxx"時,會先檢查