博客 RSS 訂閱

一顆冰淇淋 - 從 HTTP/1.1 到 HTTP/3

從 HTTP/1.1 到 HTTP/3,解決了一些舊協議的問題,引入了好用的新功能。 HTTP/1.1 HTTP/1.1 通過在傳輸層和應用層之間增加 SSL/TSL 解決數據不安全的問題,但它本身還有一些其它的不足。 同一時間,一個連接只能對應一個請求,針對同一個域名,大多數瀏覽器允許同時最多6個併發請求 只允許客户端主動發起請求,一個請求只能對應一個響應 同一個會話的多次請求中,頭信息

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

收藏 評論

扣釘日記 - 記一次使用gdb診斷gc問題全過程

原創:扣釘日記(微信公眾號ID:codelogs),歡迎分享,轉載請保留出處。 簡介 上次解決了GC長耗時問題後,系統果然平穩了許多,這是之前的文章《GC耗時高,原因竟是服務流量小?》 然而,過了一段時間,我檢查GC日誌時,又發現了一個GC問題,如下: 從這個圖中可以發現,我們GC有一些尖峯,有時會突然有大量的內存分配。 查看GC日誌,發現有大對象分配的記錄,如下: $ gre

gdb , jvm調優 , gc , Linux

收藏 評論

水冗水孚 - 力扣之僅僅反轉字母(雙指針方式)

題目描述 給你一個字符串s,根據下述規則反轉字符串: 所有非英文字母保留在原有位置。 所有英文字母(小寫或大寫)位置反轉。 返回反轉後的s 。 示例 1: 輸入: s = "ab-cd" 輸出: "dc-ba" 示例 2: 輸入: s = "a-bC-dEf-ghIj" 輸出: "j-Ih-gfE-dCba" 示例 3: 輸入: s = "Test1ng-Leet=code-Q!" 輸出:

leetcode , 字符串 , 雙指針

收藏 評論

鳩摩智首席音效師 - 通過20個示例掌握 Linux Sed 命令

SED 命令或 流編輯器 是 Linux / Unix 系統提供的非常強大的實用程序。它主要用於文本替換,查找和替換,但也可以執行其他文本操作,例如 插入,刪除,搜索 等。使用 SED,我們可以編輯完整的文件而無需打開它。SED 還支持使用正則表達式,這使得 SED 成為更強大的 測試操作工具。 基本語法如下: sed OPTIONS… [SCRIPT] [INPUTFILE…] (1) 顯示文

sed , linux運維

收藏 評論

秦川 - 關於 Go arena 的討論的學習

原因 目前 Go 的 GC 雖然高效,但是也是有代價的。 對於一些會有大量堆對象生成的場景,GC 相關的內存和CPU資源佔用,會導致服務吞吐量和相應速度受到影響。 因此需要一個效率更高且安全的內存管理機制,應對內存(GC)密集型的需求場景。 這也是個人長期以來對於 Go 的一個特別關注點。之前見過一些基於 mmap 系統內存自己管理的方案,但是很遺憾,這些方案看起來都很難真正的在項目中使用(接口複

protobuf , 內存管理 , gc , 內存分配 , go

收藏 評論

侑虎科技 - 再也不用焦慮特效造成的性能問題了

遊戲的特效表現,可以説有着“在刀尖上跳舞”的難度,需要在確保流暢展現更好的場景氛圍、技能效果、裝備展示、打擊反饋等特效的同時兼顧色彩衝突、卡頓、發熱等影響玩家體驗的表現,最終實現完美的效果和性能表現的最佳組合。 那如何運用UWA Pipeline提供的雲真機系統實現在研發過程中快速、持續且全自動的特效性能檢測呢?本期就向大家分享來自深圳雷霆項目組的實戰經驗。 一、特效資源的專項檢測 特效相關的製作

性能優化 , 性能測試 , 性能分析 , 特效

收藏 評論

京東雲開發者 - 一次JSF上線問題引發的MsgPack深入理解,保證對你有收穫

作者: 京東零售 肖夢圓 前序 某一日晚上上線,測試同學在迴歸項目黃金流程時,有一個工單項目接口報JSF序列化錯誤,馬上升級對應的client包版本,編譯部署後錯誤消失。  線上問題是解決了,但是作為程序員要了解問題發生的原因和本質。但這都是為什麼呢?  第一個問題:為什麼測試的時候沒有發現問題呢? 首先預發環境中,所有項目中的JSF別名和client包都是beta,每天都有項目進行編譯部署,

框架 , 二進制 , 測試 , msgpack , 前端

收藏 評論

這杯可樂有點甜 - 使用cron定時執行go腳本,發現程序未執行

查看日誌未發現明顯報錯。 後查詢在cron環境中,需指定go的完整路徑才行。 原crontab中配置為: 0 16 * * * go run xx.go 執行命令echo $PATH,獲得go的安裝目錄為/usr/local/go/bin,修改crontab配置為: 0 16 * * * /usr/local/go/bin/go run xx.go

crontab , go

收藏 評論

阿東 - Try to Avoid -XX:+UseGCLogFileRotation

Try to Avoid -XX:+UseGCLogFileRotation Source:https://dzone.com/articles/try-to-avoid-xxusegclogfilerotation Developers take advantage of the JVM argument -XX:+UseGCLogFileRotation to rotate GC log fi

jvm , jvm調優

收藏 評論

京東雲開發者 - 隨機高併發查詢結果一致性設計實踐

作者:京東物流 趙帥 姚再毅 王旭東 孟偉傑 孔祥東 1 前言 物流合約中心是京東物流合同管理的唯一入口。為商家提供合同的創建,蓋章等能力,為不同業務條線提供合同的定製,歸檔,查詢等功能。由於各個業務條線眾多,為各個業務條線提供高可用查詢能力是物流合約中心重中之重。同時計費系統在每個物流單結算時,都需要查詢合約中心,確保商家簽署的合同內容來保證計費的準確性。 2 業務場景 1.查詢維度分析 從業務

業務 , 數據庫 , 併發 , 技術方案 , 架構模式

收藏 評論

Peleus - go-dongle 0.2.7 版本發佈,一個輕量級、語義化的 golang 編碼解碼、加密解密庫

dongle 是一個輕量級、語義化、對開發者友好的 Golang 編碼解碼和加密解密庫 Dongle 已被 awesome-go 收錄, 如果您覺得不錯,請給個 star 吧 github.com/golang-module/dongle gitee.com/golang-module/dongle 更新日誌 新增 dongle.openssl.RSA.GenPKCS1KeyPair() 方法

rsa , go , aes

收藏 評論

JonLee - Go語言中實現HmacSHA256加密算法

HmacSHA256加密算法比較常用的加密算法之一,它比MD5更加安全。HmacSHA256也是微信支付推薦的加密方式。 在Go語言中實現HmacSHA256還是比較簡單的,雖然沒有PHP的hash_hmac一個函數搞定的方式簡單,但比起Java中的實現還是簡單不少。 package main import ( "crypto/hmac" "crypto/sha256"

sha256 , 加密 , hmac , openssl , go

收藏 評論

namedlock - Unix/Linux環境下 安裝android sdk步驟

android sdk 下載,安裝是通過官方提供的command line tools來安裝的。以下命令逐個執行一次就可以正確安裝了。 感嘆一下,國內的網絡環境不太友好啊。。。 安裝命令 mkdir -p $HOME/install/android-sdk wget https://dl.google.com/android/repository/commandlinetools-linux-91

android-sdk , Android

收藏 評論

起風了 - JavaScript函數柯里化

JavaScript函數柯里化 一、定義: 柯里化(Currying)是把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)的函數,並且返回接受餘下的參數且返回結果的新函數的技術。 通過一個簡單的例子解釋一下: function add(a, b) { return a + b } add(1, 2); // 3 將函數add轉化為柯里化函數_add: function _

currying , 前端 , Javascript

收藏 評論

咕咕雞 - 記一次線上FGC問題排查

引言 本文記錄一次線上 GC 問題的排查過程與思路,希望對各位讀者有所幫助。過程中也走了一些彎路,現在有時間沉澱下來思考並總結出來分享給大家,希望對大家今後排查線上 GC 問題有幫助。 背景 服務新功能發版一週後下午,突然收到 CMS GC 告警,導致單台節點被拉出,隨後集羣內每個節點先後都發生了一次 CMS GC,拉出後的節點垃圾回收後接入流量恢復正常(事後排查發現被重啓了)。 告警信息如下(已

性能優化 , jvm調優 , gc , JAVA

收藏 評論

蟬沐風 - 徹底搞懂IO多路複用

上一篇文章以近乎囉嗦的方式詳細描述了BIO與非阻塞IO的各種細節。如果各位還沒有讀過這篇文章,強烈建議先閲讀一下,然後再來看本篇,因為邏輯關係是層層遞進的。 1. 多路複用的誕生 非阻塞IO使用一個線程就可以處理所有socket,但是付出的代價是必須頻繁調用系統調用來輪詢每一個socket的數據,這種輪詢太耗費性能,而且大部分輪詢都是空輪詢。 我們希望有個組件能同時監控多個socket,並在so

select , poll , epoll

收藏 評論

李大雷 - 《JavaScript二十年》閲讀整理

前言 春節假期因為沒有win電腦回家,所以才有時間靜下心來看會兒書。這次讀的是《JavaScript二十年》,書籍主要介紹了語言誕生以及一些階段性的發展里程碑,能學到的有用知識不會太多,如果你還沒看過紅寶書或者《你不知道JavaScript》等系列書籍,建議先看完再來讀這本比較”閒“的書。 下面我會以我個人的理解角度概括一下書籍的一些主要內容,給一些想看沒時間看的兄弟節省一下時間。 1. 語言誕生

書籍 , Javascript

收藏 評論

京東雲開發者 - 如何實現千萬級優惠文章的優惠信息同步

作者:京東科技 文濤 背景 金融社區優惠文章是基於京東商城優惠商品批量化自動生成的,每日通過不同的渠道獲取到待生成的SKU列表,並根據條件生成優惠文章。 但是,生成優惠文章之後續衍生問題: 該商品無優惠了,對應文章需要做取消推薦或下架處理,怎樣能更快的知道該商品無優惠了呢? 方案介紹 方案對比 方案1 承接該商品所有變更信息的消息,發生變更後二編文章。 優點: 實時,一旦變更立刻知道並更新文章。

redis , 同步 , 信息 , 接口 , 檢測

收藏 評論

簡簡單單 - IDEA 使用 gradle 亂碼之謎

目標 瞭解亂碼的成因 瞭解亂碼的定位方式和解決方法 為什麼需要編碼呢? 因為字符串是需要編碼成字節數組作為載體的來存儲和傳輸. 為什麼會亂碼? 亂碼產生的原因一般是因為編碼轉換出錯. 字符串常見編碼有GBK和UTF-8等. 如果一個字符串的編碼和解碼方式不一樣, 就會出現亂碼. 例如是通過UTF-8編碼的, 但通過GBK來解碼, 就會變成下面的樣子. 字節數組: [-28, -67

亂碼 , 後台 , 源碼 , gradle

收藏 評論

陽晨@ - NestJS全棧進階——後台管理系統搭建、TypeOrm使用【值得學習】

前言 技術千千萬,學習永不斷;雖然是鹹魚,也想努把力!!! 這段時間一直很迷茫,做前端這行也有6年了,眼看馬上奔三的人了,但依舊是個菜逼,整天代碼寫了不少,但總感覺缺少些什麼,一直都沒什麼進步;每下定決心準備沉澱下自己,過不了幾天人又變懶了;這不新一輪的沉澱開始了,本次研究基於NodeJS搭建一套實用的後台管理系統。 項目地址: github、 gitee 為什麼不選

typeorm , 全棧工程師 , nestjs , typescript

收藏 評論

數據庫知識分享者 - 關係代數和SQL語法

數據分析的語言接口 OLAP計算引擎是一架機器,而操作這架機器的是編程語言。使用者通過特定語言告訴計算引擎,需要讀取哪些數據、以及需要進行什麼樣的計算。編程語言有很多種,任何人都可以設計出一門編程語言,然後設計對應的編譯器做解析。編程語言從分類上來説,可以分為命令式,聲明式。 命令式編程語言是我們最常見的編程語言,C/C++/Java等都是命令式編程語言,這類語言明確的告訴機器應該執行什麼樣的指令

雲計算 , 阿里雲 , sql語句 , SQL

收藏 評論

八戒englyf - Python 內置界面開發框架 Tkinter入門篇 甲

以下內容為本人的學習筆記,如需要轉載,請聲明原文鏈接 微信公眾號「englyf」https://mp.weixin.qq.com/s/2G... 本文大概 4158 個字,閲讀需花 10 分鐘 內容不多,但也花了一些精力 如要交流,歡迎關注我然後評論區留言 謝謝你的點贊收藏分享 農曆新的一年開始了,打工的煩心事兒可以稍停,但是學習不能停止! 關於 Tkinter 上期講過,python 其實有三大

gui , tkinter , Python

收藏 評論

仁揚 - 最為常用的Laravel操作(1)-Eloquent模型

快速入門 更換表名 protected $table = 'my_flights'; 更換主鍵名稱 protected $primaryKey = 'id'; 注意: Eloquent 默認主鍵字段是自增的整型數據, 這意味着主鍵將會被自動轉化為 int 類型, 如果你想要使用非自增或非數字類型主鍵, 必須在對應模型中設置 $incrementing 屬性為 false , 如果主鍵不是整型,

php , eloquent , lavarel

收藏 評論

八戒englyf - Python 內置界面開發框架 Tkinter入門篇 乙

以下內容為本人的學習筆記,如需要轉載,請聲明原文鏈接 微信公眾號「englyf」https://mp.weixin.qq.com/s/2G... 本文大概1685個字,閲讀需花6分鐘內容不多, 但也花了一些精力如要交流, 歡迎關注我然後評論區留言 謝謝你的點贊收藏分享 這篇文章屬於系列文章《Python 內置界面開發框架 Tkinter入門篇》的第二篇,上接《Python 內置界面開發框架 Tki

gui , tkinter , Python

收藏 評論