本專區由 開發技能 團隊提供資訊和技術支持,歡迎社區成員申請加入管理小組。
行走代碼江湖,怎能沒有一把趁手的兵器?本專區包括開發者工具、極客技能、開發庫、文檔、應用開發、操作系統、編碼工具等。
本專區由 開發技能 團隊提供資訊和技術支持,歡迎社區成員申請加入管理小組。
有研究發現,網站加載時間每增加一秒,用戶便會流失10%。為提高頁面的秒開率,各路人馬不斷探索著優化策略,僅僅在瀏覽器領域下的優化已經滿足不了極致的要求了,大家開始往服務端方向不斷探索,并一度讓【服務端渲染】這一古早的概念“翻紅”,且炒得火熱。 服務端渲染簡稱 SSR,全稱 Server Side Rendering,顧名思義是將渲染的工作放在 Server 端進行。這種辦法不僅有利于首屏渲染,提高 SPA 應用的首屏響應速度,還方便搜索... 展開更多
本文分享自華為云社區《深入理解Java中的Reader類:一步步剖析》,作者:bug菌。 前言 在Java開發過程中,我們經常需要讀取文件中的數據,而數據的讀取需要一個合適的類進行處理。Java的IO包提供了許多類用于數據的讀取和寫入,其中Reader便是其中之一。本文將對Java中的Reader進行詳細介紹,并分析其優缺點及應用場景。 摘要 本文將從以下幾個方面對Java中的Reader類進行詳細介紹: Reader類的概述 Reader類代碼的解析 Reader... 展開更多
?背景 靈魂拷問1:還在為新項目工具類搬遷而煩惱? 靈魂拷問2:還在為項目中工具類維護而煩惱? ? ? ??簡述 Hutool它是一個Java工具集類庫,包含了很多靜態方法的封裝:流處理、時間日期處理、正則處理、加解密處理、文件處理、集合處理等,可以說是項目中幾乎所有XxxxUtil的替代品,它可以使你更多的關注代碼邏輯,優雅的寫出高效代碼,避免“復制粘貼,改改再戰”。 ”???組件 模塊劃分預覽,可以根據需求對每個模塊單... 展開更多
云原生市場的蓬勃發展,給云IDE工具提出了眾多需求,包括但不限于:全面適用于云原生環境、支持多種開發語言、兼容原有的開發工具體系、支持移動化開發及多人協作、具備完善的代碼安全保障能力和一站式自動化開發的能力等。那么對于一名開發者而言,滿足哪些條件的云IDE產品會更受其青睞呢?換句話講,一款優秀的云IDE產品需要具備哪些能力,才能獲得更多用戶呢? 我想以下幾方面的能力是需要具備的。 在多種開發語言支持方面:... 展開更多
> 興趣是最好的老師,**HelloGitHub** 讓你對編程感興趣!  ## 簡介 **HelloGitHub** 分享 GitHub 上有趣、入門級的開源項目。 > [https://github.com/521xueweihan/HelloGitHub](https://github.com/521xueweihan/HelloGitHub) 這里有實戰項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C... 展開更多
1: Bean在Spring容器中是如何存儲和定義的 Bean在Spring中的定義是_org.springframework.beans.factory.config.BeanDefinition_接口,BeanDefinition里面存儲的就是我們編寫的Java類在Spring中的元數據,包括了以下主要的元數據信息: 1:Scope(Bean類型):包括了單例Bean(Singleton)和多實例Bean(Prototype) 2:BeanClass: Bean的Class類型 3:LazyInit:Bean是否需要延遲加載 4:AutowireMode:自動注入類型 5:DependsOn... 展開更多
本文分享自華為云社區《【安全攻防】深入淺出實戰系列專題-利用中間人攻擊進行小程序刷分》,作者: MDKing 。 1. 中間人攻擊定義 中間人攻擊(Man-in-the-middle attack,簡稱MITM)是攻擊者在進行網絡通信的雙方中間,分別與兩端建立獨立的聯系,并進行數據嗅探甚至篡改,而通信的雙方卻對中間人毫不知情,認為自己是直接在與對端通信。 隨著計算機通信網技術的不斷發展,MITM攻擊也越來越多樣化。最初,攻擊者只要將網卡設為... 展開更多
本文分享自華為云社區《云圖說|交換數據空間Exchange Data Space》,作者: 閱識風云。 閱識風云是華為云信息大咖,擅長將復雜信息多元化呈現,其出品的一張圖(云圖說)、深入淺出的博文(云小課)或短視頻(云視廳)總有一款能讓您快速上手華為云。更多精彩內容請單擊此處。 交換數據空間(Exchange Data Space,簡稱EDS)面向數據要素流通場景,提供數據交換過程中的安全保護技術能力,如數據使用策略、日志審計、數據市場等。您可... 展開更多
之前,在[Java新特性專欄](https://www.didispace.com/java-features/)中,我們簡單介紹了Java 21正式發布的[虛擬線程](https://www.didispace.com/java-features/java21/jep444-virtual-threads.html)。 昨天,正好看到一個講解此內容的視頻,非常不錯,所以DD這里給大家翻譯好了,感興趣的可以看看??梢赃M一步了解虛擬線程:[《什么是虛擬線程?一次啟1000萬個會怎么樣?》](https://www.bilibili.com/video/BV1mQ4y1p7Z5/)... 展開更多
一、減法 - 通過分離課題提升專注度 應該說絕大部分技術人都有焦慮感:“程序員35歲危機”、“成長太慢,工作5年了還是大頭兵”、“不小心搞了一個生產故障,感覺待不下去了”、“負責的這塊業務看起來沒前途” 等等。 焦慮,是來自于未來的不確定性,以及對自己的不滿意。最近讀《被討厭的勇氣》這本書,里面提到焦慮/自卑往往是沒有做好“課題分離”,我們往往把“別人販賣的焦慮”(PUA、35歲危機),強加到自己的感受中,這... 展開更多
為什么要畫好一幅架構圖?一幅漂亮的架構圖既是創作者的深度結構化思考和表達,對于讀者來說也更加容易理解架構所要表達的意思。 然而不擅長畫圖的程序員,在大腦里已經有了思路,如何快速能夠產出精美的架構圖呢?這篇文章幫你總結了常用的架構圖類型,可以借鑒筆者提供的模板,快速地產出符合你的業務需要的架構圖。 周期圖 XY軸坐標圖 圖形特點 簡潔、容易理解、易擴展 使用場景 適用于一組或者一組以上的數據趨勢對比 美觀度... 展開更多
1: 什么是SpringBoot自動配置 首先介紹一下什么是SpringBoot,SpringBoost是基于Spring框架開發出來的功能更強大的Java程序開發框架,其最主要的特點是:能使程序開發者快速搭建一套開發環境。SpringBoot能將主流的開發框架(例如SpringMVC,Dubbo,Mybatis,Redis等),做到像Maven導入Jar包一樣的簡潔快速,做到開箱即用。其中最關鍵的技術就是SpringBoot定制的各種Starter,通Maven引入Starter就能快速搭建開發環境。 2: Sprin... 展開更多
一.類加載器及雙親委派機制 ?? 類加載器 加載類 備注 啟動類加載器(Bootstrap ClassLoader) JAVA_HOME/jre/lib 無上級,無法直接訪問 由jvm加載 拓展類加載器(Extension ClassLoader) JAVA_HOME/jre/lib/ext 父加載器為 Bootstrap,顯示為 null 。該類由Bootstrap加載 應用類加載器(Application ClassLoader) classpath 父加載器上級為 Extension,該類由Bootstrap加載 自定義類加載器 自定義路徑 父加載器為 Applicatio... 展開更多
寫在前面 最近有用戶反饋測試環境Java服務總在凌晨00:00左右掛掉,用戶反饋Java服務沒有定時任務,也沒有流量突增的情況,Jvm配置也合理,莫名其妙就掛了 問題排查 問題復現 為了復現該問題,寫了個springboot的demo部署在測試環境,其中demo里只做了hello world功能,應用類型為web_tomcat (war包部署),基礎鏡像是base_tomcat/java-centos6-jdk18-60-tom8050-ngx197,鏡像使用的Java版本是1.8.0_60,有了上次MySQL被kill的經... 展開更多
本文分享自華為云社區《如何用Java找出兩個List中的重復元素,讀這一篇就夠了》,作者: 努力的阿飛。 在Java編程中,我們經常需要找出兩個列表(List)中的重復元素。在本文中,我們將探討三種方法來實現這一目標。 方法一:使用HashSet Java中的HashSet是一個不允許有重復元素的集合。我們可以利用這個特性,通過合并兩個List并計算差集,來找出重復的元素。 以下是一個通過使用HashSet數據結構來找出兩個List中的重復元素的代... 展開更多
PHP這門有著近三十年歷史的編程語言曾幾度被唱衰,“PHP將亡”的言論伴隨著“PHP是最好的語言”的黑色幽默,多年來屢見不鮮。 那PHP的現狀究竟如何? 為撥開PHP語言周遭的層層迷霧,禪道項目管理軟件團隊從近兩年各方發布的PHP應用現狀報告、2023年PHP最新動態以及對PHP社區用戶的深入訪談等維度出發,整理編輯出了一份全面、真實、客觀的《2022-2023年度PHP綜合現狀分析報告》。希望這份報告能幫助行業從業者更好地理解PHP語言... 展開更多
一些使用小細節就是在不斷的源碼探索中逐步發現的,今天就來和小伙伴們聊一下通過 beanName 的設置,可以讓一個 bean 拒絕被代理! ## 1. 代碼實踐 假設我有如下一個切面: ```java @Aspect @EnableAspectJAutoProxy @Component public class LogAspect { @Pointcut("execution(* org.javaboy.demo.service.*.*(..))") public void pc() { } @Before("pc()") public void before(JoinPoint jp) { String name = jp.getSignature... 展開更多
“致一年前的小木土:任務完成?!?6月30日,在獲得2023 Amazon DeepRacer自動駕駛賽車企業總決賽中國區冠軍三天后的深夜,杜鍵文發了這條朋友圈,并配上比賽現場的9張圖。 “小木土”是杜鍵文的網名,取其姓氏,包括他的個人微信號、B站賬號等。2022年7月,杜鍵文從暨南大學畢業后加入荔枝集團,一年后,他和荔枝“狀元紅”團隊(注:狀元紅是水果荔枝的一個品種,參賽團隊稱呼)一起獲得了 Amazon DeepRacer自動駕駛賽車企業總... 展開更多
背景: 什么是VPN?他是干什么用的?有什么優勢?解決我們什么問題? 1 VPN的概念 VPN定義 Virtual Private Network,中文名虛擬專用網絡,意思是在公用網絡上仿真建立一條點到點的專用網絡,進行加密通訊,解決遠程訪問(個人和分支機構到總部)的問題。 要理解VPN,我們需要先弄了解一個概念——隧道協議,其實質是用一種協議來傳輸另一種協議,其基本功能是封裝和加密。我們給大家列舉幾個隧道協議:GRE、IPSec、SSL/TLS、V... 展開更多