Python筆記四之協程
本文首發於公眾號:Hunter後端 原文鏈接:Python筆記四之協程 協程是一種運行在單線程下的併發編程模型,它的特點是能夠在一個線程內實現多個任務的併發操作,通過在執行任務時主動讓出執行權,讓其他任務繼續執行,從而實現併發。 以下所有的代碼都是在 Python 3.8 版本中運行。 本篇筆記目錄如下: asyncio async await 併發運行協程
Nickname Hunter
Contributes238
Followers0
本文首發於公眾號:Hunter後端 原文鏈接:Python筆記四之協程 協程是一種運行在單線程下的併發編程模型,它的特點是能夠在一個線程內實現多個任務的併發操作,通過在執行任務時主動讓出執行權,讓其他任務繼續執行,從而實現併發。 以下所有的代碼都是在 Python 3.8 版本中運行。 本篇筆記目錄如下: asyncio async await 併發運行協程
Nickname Hunter
本文基於 Netty 4.1.56.Final 版本進行討論 在上篇文章《聊一聊 Netty 數據搬運工 ByteBuf 體系的設計與實現》 中,筆者詳細地為大家介紹了 ByteBuf 整個體系的設計,其中筆者覺得 Netty 對於引用計數的設計非常精彩,因此將這部分設計內容專門獨立出來。 Netty 為 ByteBuf 引入了引用計數的機制,在 ByteBuf 的整個設計體系中,所有的 Byt
Nickname bin的技術小屋
本文基於 Netty 4.1.112.Final 版本進行討論 在之前的 Netty 系列中,筆者是以 4.1.56.Final 版本為基礎和大家討論的,那麼從本文開始,筆者將用最新版本 4.1.112.Final 對 Netty 的相關設計展開解析,之所以這麼做的原因是 Netty 的內存池設計一直在不斷地演進優化。 在 4.1.52.Final 之前 Netty 內存池是基於 jemalloc
Nickname bin的技術小屋
本文基於 Netty 4.1.112.Final 版本進行討論 本文是 Netty 內存管理系列的最後一篇文章,在第一篇文章 《聊一聊 Netty 數據搬運工 ByteBuf 體系的設計與實現》 中,筆者以 UnpooledByteBuf 為例,從整個內存管理的外圍對 ByteBuf 的整個設計體系進行了詳細的拆解剖析,隨後在第二篇文章 《談一談 Netty 的內存管理 —— 且看 Netty 如
Nickname bin的技術小屋
粘包與半包 粘包現象 粘包的問題出現是因為不知道一個用户消息的邊界在哪,如果知道了邊界在哪,接收方就可以通過邊界來劃分出有效的用户消息。 服務端代碼 public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start
Nickname 程序員Seven
本文整理自 IvorySQL 2025 生態大會暨 PostgreSQL 高峯論壇的演講分享,演講嘉賓:唐成,中啓乘數科技 CTO,資深 PostgreSQL 專家。 引言 AI 技術正從訓練轉向推理與應用,數據基礎設施面臨新的挑戰。傳統數據庫難以滿足 AI Agent 對實時性、多模態檢索和彈性擴展的需求。PostgreSQL 因其擴展性成為 AI 時代的數據基石,雲原生數據庫一體機通過存算分離
Nickname IvorySQL
分享一篇粉絲朋友整理的面經,第一次遇見問那麼多kafka的問題,看看他是怎麼回答的。 先來看看 職位描述: 崗位職責: 負責基於 Go 的後端服務的設計、開發和維護; 參與系統架構設計,確保系統的高可用性、高性能和可擴展性; 編寫高質量、可維護的代碼,並進行代碼評審; 解決複雜的技術問題,優化系統性能; 與跨職能團隊合作,確保項目按時交付; 編寫技術文檔和開發規範,提升團隊整體開發效
Nickname 王中陽講編程
在響應式設計中,Flexbox 是一種理想的佈局工具。它使得元素能夠根據容器的尺寸自動調整,靈活地填充可用空間。因此,無論是在桌面端還是移動端,Flexbox 都能夠確保佈局自適應、整潔且易於維護。 示例:響應式導航欄 假設我們需要創建一個具有可調節寬度的導航欄,項之間應均勻分佈,並且在小屏幕上時,導航項能夠堆疊在一起: nav class="navbar" a href="#"Home/a
Nickname 玩足球的傷疤
一、靈魂三問 1、gradle 是什麼? 一個打包工具, 是一個開源構建自動化工具,足夠靈活,可以構建幾乎任何類型的軟件,高性能、可擴展、能洞察等。其中洞察,可以用於分析構建過程中數據,提供分析參考,方便排查問題和不斷優化構建性能,以下一次編譯分析報告。 2、有什麼優勢 參考官方文章,針對包含10 子模塊的工程,相對 maven 構建速度,大概有 2-3 倍的性能提升,增量編譯大概 7 倍的性能
Nickname 京東雲開發者
Make Java Great Again! https://www.mjga.cc https://github.com/ccmjga/mjga-scaffold MJGA 的打造基於以下理念: 現代化:技術選型緊跟開源社區風向 可配置化:支持在網頁上選配組件 考究的編碼:每個變量和函數、每個模塊和組件都考慮最佳實踐 Not-all-in-one:現在和未來,mjga 都將守好自
Nickname Chuck1sn
工程思維落地 《你不知道的 JAVA 》系列博客的工程理念與設計模式,已落地成一款 全新設計的 Java 腳手架 ,可與博客配套使用。 Web Api 的重要性 設計 api 端點是後端開發經常接觸的工作,但你是否從來沒有想過好的 web api 應該是什麼樣子? Api 端點的設計就像名片一樣——專業的名片可以在客户面前建立信任感;糟糕的名片會讓你的產品在被使用前就給客户留下負面印象。一旦客户
Nickname Chuck1sn
Debug 的時候,都遇到過手速太快,直接跳過了自己想調試的方法、代碼的時候吧…… 一旦跳過,可能就得重新執行一遍,準備數據、重新啓動可能幾分鐘就過去了。 好在IDE 們都很強大,還給你後悔的機會,可以直接刪除某個 Stack Frame,直接返回到之前的狀態,確切的説是返回到之前的某個 Stack Frame,從而實現讓程序“逆向運行”。 這個 Reset Frame 的能力,可不只是返回上
Nickname 京東雲開發者
由於圖片和格式的解析問題,可前往 閲讀原文 往期文章我們已經講過fiddler、charles以及wireshark等多種抓包工具,已經在工作中足夠解決各種抓包問題了,但我今天還想再分享給大家一款抓包工具 whistle,因為它真的很優秀,本人在工作中也一直在用這個 為什麼我會選擇whistle,首先是fiddler不支持MacOS,其次Charles在M1芯片上會感覺明顯的卡頓;除此之外是whi
Nickname 大衞talk
1、tornado是單線程的,同時WSGI應用又是同步的,如果我們使用Tornado啓動WSGI應用,理論上每次只能處理一個請求都是,任何一個請求有阻塞,都會導致tornado的整個IOLOOP阻塞。如下所示,我們同時發出兩個GET請求向http://127.0.0.1:5000/ 會發現第一個發出的請求會在大約5s之後返回,而另一個請求會在10s左右返回,我們可以判斷,這兩個請求是順序執行的。
Nickname 某個夜晚
引言 在互聯網技術日新月異的今天,URL短鏈服務已經成為日常網絡生活中不可或缺的一部分。每當想要分享一個冗長的網頁鏈接,或者需要在對字符數量敏感的平台(如社交媒體、短信等)發佈鏈接時,URL短鏈服務都能將長長的URL地址精簡成短小、易於傳播的鏈接。例如,將冗長的 https://www.systeminterview.com/q=chatsystemc=loggedinv=3i=long 縮短為
Nickname float64
Post 請求和 Get 請求是 HTTP 協議中兩種最常用的請求方法。它們有一些相似之處,但也存在一些重要的區別。 Get 請求 Get 請求是 HTTP 協議中的一種請求方法,通常用於從服務器獲取資源。使用 Get 請求時,參數會附加在 URL 的末尾,多個參數之間用 符號分隔。 Get 請求的一些特點: 可以從服務器獲取資源。 參數暴露在 URL 中,存在安全隱患。 受到 URL
Nickname Apifox
Postman 是開發者日常工具箱中不可缺少的一部分,特別是在 API 開發和調試環節中。 為什麼使用 POST 請求 POST 請求用於向服務器發送數據,這些數據通常被處理後存儲。與 GET 請求不同,POST 請求將數據嵌入請求體(Body)中而不是 URL 中,這樣更安全且支持更大數據量。因此,POST 請求常用於註冊用户、提交表單和上傳文件等場景。 設置 POST 請求 在 Postman
Nickname 倔強的鉛筆
在現代網絡開發領域,理解並應用 HTTP 請求 方法是基本的要求,其中 "POST" 方法扮演着關鍵角色。 理解 POST 方法 POST 方法屬於 HTTP 協議的一部分,主旨在於向服務器發送數據以執行資源的創建或更新。它與 GET 方法區分開來, GET 主要用於獲取服務器上的數據,而 POST 則用於提交數據給服務器來處理。 為什麼選用 POST 方法 POST 方法具備幾個顯著特點:
Nickname Apifox
大家好,我是小悟 兄弟們,閲讀本文之前,建議先閲讀【連夜幹出來一個自動處理【微信消費者投訴管理系統】,支持多商户】。 為了使工具更好用,也為幫助商户更好地處理消費者投訴,提升用户滿意度,提高處理效率,滿足用户需求,一直在研究完善功能。 於是對工具進行了升級,可以直接回複用户、查看詳情、提交退款、處理投訴。 回覆用户 可以直接在後台回覆用户,輸入回覆內容,也可上傳留言圖片,即可發送回覆給用户。
Nickname 悟空碼字
大家好,我是小悟 微信直連商户處理消費者投訴的功能解決了很多商户對於投訴處理不及時而導致商户號出現異常的問題,可以説解決了實實在在的問題。 很多小夥伴私信説自己是服務商角色,也需要微信支付服務商處理消費者投訴的功能,而且要支持多服務商的模式,於是也擼了一下。 服務商模式下包括兩部分,消費者投訴及時處理和商户違規及時通知。 消費者投訴 服務商可以幫助子商户快速獲取其所屬的消費者投訴問題並進行處理,提
Nickname 悟空碼字
微信native支付對接案例詳解 效果展示 native支付 產品介紹 接入前準備 開發指引 API列表 支付通知 開發者社區 整體原則就是按照官方文檔一步一步來 支付產品 微信認證 注意:只有服務號才能對接微信支付。每年都需要花300塊認證費用。
Nickname 恩爸編程
大家好,針對Go語言 net/http 標準庫,將梳理的相關知識點分享給大家~~ 圍繞 net/http 標準庫相關知識點還有許多章節,請大家多多關注。 文章中代碼案例只有關鍵片段,完整代碼請查看github倉庫:https://github.com/hltfaith/go-example/tree/main/net-http 本章節案例,請大家以 go1.16+ 版本以上進行參考。
Nickname 帽兒山的槍手
在當前數字化時代,網絡安全尤為關鍵。隨着技術快速進步,需求日益增長,保障應用程序中用户數據的安全成為開發者們的首要任務。其中,Bearer Token 作為一種高效的驗證策略,在防止未授權訪問中發揮着不可或缺的作用。 解析 Bearer Token Bearer Token,一種基於文本的安全令牌,主要用於在網絡請求中驗證用户身份。"Bearer" 這一名稱意味着,任何擁有該令牌的實體都被授權訪問
Nickname Apifox
我們都知道,API(應用程序編程接口)是一個至關重要的概念,它允許不同軟件系統之間進行通信和數據交換。無論是移動應用與服務器的通信、Web 應用後端與前端的交互,還是複雜後台服務之間的協同工作,API 都是基礎。然而,在 API 的使用過程中,安全性是必須考慮的重要方面。為了實現這一點,我們需要一種機制來驗證和授權每個 API 請求的合法性,API Token 就在此扮演了關鍵角色。 API To
Nickname Apifox