博客 RSS 訂閱

京東雲開發者 - 完蛋!我被 Out of Memory 包圍了! | 京東雲技術團隊

是極致魅惑、灑脱自由的Java heap space? 是知性柔情、温婉大氣的GC overhead limit exceeded? 是純真無邪、活潑可愛的Metaspace? 如果以上不是你的菜,那還有…… 刁蠻任性,無跡可尋的CodeCache! 性感火辣、心思細膩的Direct Memory 高貴冷豔,獨愛你一人的OOM Killer! 總有一款,能讓你鍾情!BUG 選擇權

gc , 內存泄漏 , Linux , JAVA , 後端

收藏 評論

稀飯52 - 寫給自己的前端性能優化

一直想寫篇前端性能相關的總結,個人覺得這塊的內容會比較分散,面試的時候問起來,也不容易有一個清晰的框架,但是平時的習慣是想起來什麼就寫什麼,所以攢了好久的內容只能躺在一堆筆記草稿裏面; ---🚩🚩正文分割線🚩🚩--- 按頁面加載鏈路分類,從下面幾個方面開始 首屏加載 代碼優化 構建工具 首屏加載 這部分其實就是把從獲取資源到頁面呈現中可以優化的點提取出來 1. DNS預解析 不需

面試 , 總結 , 前端

收藏 評論

雲音樂技術團隊 - 雲音樂服務監控系統(Pylon APM)建設實踐

本文作者:碧海(蔣星韜) 雲音樂服務監控系統(代號:Pylon APM)為業務提供服務監控,鏈路追蹤,治理分析,問題診斷等能力,本文介紹了平台建設中的一些實踐經驗。 一、背景介紹 雲音樂服務端原有的服務端應用監控體系,存在很多痛點和問題,導致出現線上問題時,定位的效率不太理想。服務端應用監控體系主要存在以下幾個問題: Trace鏈路完整性問題:老的trace是通過組件sd

服務端 , 監控

收藏 評論

數據庫知識分享者 - 產品運營方法論:從目標拆解到策略重構

本文從產品運營的定義到作者對產品運營的理解以及一些工作中用到的方法論做了總結。 前言 作為一名產品運營,相信大部分的同學都經歷過迷茫的階段,懷疑過自己的價值和定位,説不清楚產品運營和產品的區別,對未來的職業發展方向也是一頭霧水。好不容易説服了自己運營是有價值的,但還是找不準主線,東打一拳、西補一棒,最終把自己繞進入雲霧。 產品運營,看似什麼都能管,但如果僅僅定位是對產品進行宣傳培訓、管理簡單的項目

雲計算 , 阿里雲 , 運營 , 重構

收藏 評論

楊一敏 - 怎樣才能找到國外的工作機會?

世界的陸地面積是 148.9M 平方千米,總人口是 76億,平均下來每個人佔地 196K平方米。 中國的陸地面積是 9.6M 平方千米,總人口是 14億,平均下來每個人佔地 70K 平方米。 中國人均佔地面積約為世界的 0.35。 世界有廣闊的平台和機會。如果你打算換一個環境,見見不同的人的時候,可以考慮找一份海外的工作。這其實並不難,已經有很多人通過各種不同的途徑實現了自己目標。這事難就難在在猶

簡歷 , 面試 , 找工作 , 後端 , 前端

收藏 評論

京東雲開發者 - 微前端無界機制淺析 | 京東物流技術團隊

簡介 隨着項目的發展,前端SPA應用的規模不斷加大、業務代碼耦合、編譯慢,導致日常的維護難度日益增加。同時前端技術的發展迅猛,導致功能擴展吃力,重構成本高,穩定性低。 為了能夠將前端模塊解耦,通過相關技術調研,最終選擇了無界微前端框架作為物流客服系統解耦支持。為了更好的使用無界微前端框架,我們對其運行機制進行了相關了解,以下是對無界運行機制的一些認識。 基本用法 主應用配置 import Wuji

微前端 , 前端 , Javascript

收藏 評論

京東雲開發者 - 線上JAVA應用平穩運行一段時間後出現JVM崩潰問題 | 京東雲技術團隊

一、問題是怎麼發現的 系統是一個定時任務系統,需要定時執行業務代碼,業務代碼主要是訪問MYSQL數據庫和緩存進行操作,該開始啓動,系統日誌一切正常,但是運行一段時間到凌晨後,系統就自動崩潰了,java進程沒有了,只留下了程序崩潰日誌如下: cat: /proc/1/environ: Permission denied [admin@host-11-40-38-52 ~]$ more hs_err_

定時任務 , jvm , JAVA , 後端

收藏 評論

京東雲開發者 - 你的停機真的優雅麼?第二彈來襲 | 京東雲技術團隊

1. 前言 之前總結了一篇基於現有業務線在停機重啓時會產生RPC和MQ調用強殺導致業務數據不一致文章,文中通過優雅停機改造對RPC服務進行反註冊和MQ進行暫停消費,進而可以解決在停機時強制kill掉RPC線程或者MQ線程導致數據不一致現象,具體的原文大家感興趣可以去看一下。Ok前情提要結束,最近在一些核心應用上線重啓的時候又出現了業務訂單數據不一致的情況,通過排查定位發現還是因為停機不夠優雅,罪魁

定時任務 , 數據一致性 , 程序員 , 後端

收藏 評論

小邱編程 - 從零開始搭建個人網站博客

前言 為什麼要寫作 職場積累的輸入輸出,不記錄下來則會忘記。 個人的成果需要有更多的展示平台,IT是手藝活,需要有自己的作品。 寫作是很好的學習方式,通過寫作倒逼自己學習,而不是一味看各類文章,看只是一部分,如果要深入理解知識,必須自己寫出來。 為什麼要搭建個人博客 我也有公眾平台,這類的公共平台有流量和關注,可以好好維護。 隨着網絡的發展,監管隨之而來,個人網站更自由,是更好的文

個人網站 , 博客

收藏 評論

bigsai - 數據結構與算法—緒論詳解

針對以前寫的數據結構與算法系列重寫(針對文字描述、圖片、錯誤修復),改動會比較大,一直到更新完為止 前言 數據結構與算法是程序員內功體現的重要標準之一,且數據結構也應用在各個方面,業界更有程序=數據結構+算法這個等式存在。各個中間件開發者,架構師他們都在努力的優化中間件、項目結構以及算法提高運行效率和降低內存佔用,在這裏數據結構起到相當重要的作用。此外數據結構也藴含一些面向對象的思想,故學好掌握數

數據結構 , 算法 , JAVA , 數據結構與算法 , 後端

收藏 評論

三塊錢 - emoji如何對齊 特殊字符如何對齊 高級文本對齊

問題引出 我們在程序打印輸出時,如何我們所輸出的字符中包含emoji文本,或者其它特殊的字符文本,則我們的打印對齊效果將出現錯位。以下代碼復現了這一效果(tips: 馬老師 前面的 | 符號是為了觀察對齊效果): # -*- coding:UTF-8 -*- # region 引入必要依賴 from DebugInfo.DebugInfo import * # endregion if

表格 , emoji , Python

收藏 評論

極限實驗室 - INFINI Labs 產品更新 | Agent 全新重構,優化指標採集,支持集中配置管理,支持動態下發等功能

INFINI Labs 產品又更新啦~ 本次更新主要有 Agent、Console、Loadgen 等產品,其中 Agent 進行全新重構升級,新版限制了 CPU 資源消耗,優化了內存,相比舊版內存使用率降低 10 倍,極大的降低了對宿主服務器造成資源佔用壓力。同時 Agent 還優化了指標採集,支持集中配置管理,支持動態下發,支持一鍵安裝和自動註冊到 Console,可通過 Console 集中

console , agent , 產品

收藏 評論

F - 自動化階梯封禁在 OctoMation自動化編排中 是如何實現的

封IP, 在紅藍對抗、日常安全運營、hvv中都是最常見的防禦手段,然而,人工封禁的方式存在着大量的工作量,其中包括情報關聯、事件調查、規則判斷、封禁、解封。如果有種方式能夠更好、更快、更符合SOP流程的話,拿筆者認為,這種方式能夠覆蓋安全全場景,使安全事件能夠在第一時間進行有效處理。 自動化階梯封禁 整個劇本設計的難度在把所有的功能按照邏輯點進行子劇本拆分,具體來説有以下幾個步驟: 1)事件

信息安全 , 工具 , 安全漏洞 , 安全

收藏 評論

雲端源想 - SQL中的DDL(數據定義)語言:掌握數據定義語言的關鍵技巧!

DDL(Data Definition Language),是用於描述數據庫中要存儲的現實世界實體的語言。前面我們介紹了數據庫及SQL語言的相關概念和基礎知識,本篇文章我們來重點講述DDL(數據定義語言的語法格式)的相關內容以及DDL的常用語句。 一、DDL介紹 這裏我們先回顧一下前面講過的SQL語言的概念:SQL(Structured Query Language),即結構化查詢語言,是在關係型

數據庫 , sql語句 , SQL

收藏 評論

千龍 - 手把手教你給網站增加微信掃碼登錄功能

在網站開發中,我們經常會遇到需要給網站增加微信掃碼登錄的功能,一般來説有兩種方式可以實現,一種是使用微信開放平台,另一種是使用微信認證服務號的參數二維碼,網上以第一種居多,我們今天來説下第二種方式。首先準備一個【已認證】的微信服務號將公眾號添加至【檸聚開發者平台】中,如圖1: 然後將生成的回調URL添加至微信公眾平台中,如圖: 這樣基礎配置就完了,下面我們開始碼代碼。首

掃碼登錄 , 網站開發 , 微信公眾號

收藏 評論

百度Geek説 - 通過Python腳本支持OC代碼重構實踐(二):數據項提供模塊接入數據通路的代碼生成

作者 | 劉俊啓 導讀 在軟件開發中,經常會遇到一些代碼問題,例如邏輯結構複雜、依賴關係混亂、代碼冗餘、不易讀懂的命名等。這些問題可能導致代碼的可維護性下降,增加維護成本,同時也會影響到開發效率。這時通常通過重構的方式對已有代碼結構進行改進和優化。在重構的工作中,大部分的工作是人工的方式完成,是一個耗時且容易出錯的過程。對於研發人員來講,在不改變軟件的功能和行為的前提下,保證質量和效率完成對

腳本 , 重構 , Python

收藏 評論

sum墨 - 秒殺系統常見問題—庫存超賣

大家好!我是sum墨,一個一線的底層碼農,平時喜歡研究和思考一些技術相關的問題並整理成文,限於本人水平,如果文章和代碼有表述不當之處,還請不吝賜教。 以下是正文! 先看問題 首先上一串代碼 public String buy(Long goodsId, Integer goodsNum) { //查詢商品庫存 Goods goods = goodsMapper.selectById

springboot , JAVA , 秒殺 , 後端

收藏 評論

京東雲開發者 - 同城售後系統退款業務重構心得 | 京東雲技術團隊

一、重構背景 1.1、退款 到家、小時購、天選退款有2套結構,代碼邏輯混亂; 其中小時購、天選部分售後單是和平生pop交互退款,部分是和售後中台交互退款;並且兼容3套邏輯; 痛點:代碼繁重,缺乏合理性的設計,後續迭代開發以及維護成本高,同時增加了系統的風險和不穩定性 1.2、金額計算 到家、小時購兩套獨立的邏輯結構計算,在此基礎上針對退差和非退差又實現了2套邏輯; 針對商品件維度、商品行維度、售後

架構設計 , 重構和設計模式 , 架構 , 重構 , 後端

收藏 評論

鹵代烴 - 🪢 [網絡協議] 淺談 HTTP 優先級算法的演進

如果你喜歡我的文章,希望點贊👍 收藏 📁 評論 💬 三連支持一下,謝謝你,這對我真的很重要! 前兩天在「即刻」上一時興起寫了一段 HTTP 優先級的發展歷程,這兩天覺得當時寫的還是太倉促了,所以準備寫個 Blog 擴寫一下,就「優先級」這個概念縱向分析,看看這些基礎協議的發展和進化。 正式講之前先列個時間線,這樣的話對以下內容的理解會有個更直觀的認識: 1997 年,經過前幾年幾

http3 , http-2 , HTTP , 網絡傳輸協議 , 前端

收藏 評論

後除除 - 使用腳本整合指定文件/文件夾,執行定製化 ESLint 命令

背景 最近面對一個龐大的項目,但是隻需要修改某個模塊,每次都手搓命令太麻煩了,於是就想着能不能寫個腳本來輔助處理這些事情。 解決方案 定製化一鍵 ESLint,執行文件下載地址: https://github.com/mazeyqian/go-gin-gee/releases/tag/v1.4.0 基礎使用 以下案例以 macOS 為例,其他系統自行替換對應的文件。 案例 1:指定文件 file

vue.js , jsx , eslint , Linux , Javascript

收藏 評論

子午 - 一文學會Python面向對象中封裝、繼承、多態使用

在Python這門強大而靈活的編程語言中,面向對象編程(OOP)是一個核心的概念,它主要包括三個基本的特性:封裝、繼承和多態。接下來,我將通過實際的代碼示例和詳細的解釋,帶你深入瞭解這三個概念,並掌握如何在Python中運用它們。 一、封裝(Encapsulation) 封裝是面向對象編程的一種方法,它將對象的狀態和行為組合在一起,並隱藏了對象內部實現的細節,只暴露出有限的接口供外部訪問。 代碼示

面向對象編程 , Python

收藏 評論

lane - AbstractQueuedSynchronizer 源碼解析

AbstractQueuedSynchronizer簡稱AQS,ReentrantLock,ReentrantReadWriteLock,CountDownLatch,Semaphore等等這些鎖都是基於AQS實現的。AQS核心主要實現了鎖的狀態的同步,隊列排隊、喚醒管理,鎖的釋放等底層功能。主要基於state屬性來控制鎖的可用狀態,通過維護一個CLH雙向鏈表隊列來管理併發獲取鎖的線程進行排隊。

, 同步鎖 , JAVA , 併發編程

收藏 評論

LigaAI - SaaS 出海,如何搭建國際化服務體系?(二)

防噎指南:這可能是你看到的乾貨含量最高的 SaaS 出海經驗分享,請準備好水杯,放肆食用(XD。 當越來越多中國 SaaS 企業選擇開啓「國際化」副本,出海便儼然成為國內 SaaS 的新·角鬥場。 LigaAI 觀察到,出海浪潮助生了許多「Day One 就做國際化」的產品和團隊,而出海大軍中也不乏在國內已經完成 PMF 的熟悉面孔。一個主要由中國人構成的團隊在推進海外產品落地的過程中,可能

創業公司 , saas , 經驗 , 產品 , i18n

收藏 評論

京東雲開發者 - 為什麼idea建議使用“+”拼接字符串 | 京東雲技術團隊

前言 各位小夥伴在字符串拼接時應該都見過下面這種提示: 內容翻譯:報告StringBuffer、StringBuilder或StringJoiner的任何用法,這些用法可以用單個java.lang.String串聯來替換。使用字符串串聯可以使代碼更短、更簡單。只有當得到的串聯至少與原始代碼一樣高效或更高效時,此檢查才會報告。 大家普遍認知中,字符串拼接要使用StringBuilder,那為什麼i

字符串 , stringbuilder , intellij-idea , 程序員 , 後端

收藏 評論