跳到主要內容

發表文章

目前顯示的是 3月, 2020的文章

一分鐘帶你了解下Spring Security!

一、什麼是Spring Security? Spring Security是一個功能強大且高度可定製的身份驗證和訪問控制框架,它是用於保護基於Spring的應用程序的實際標準。 Spring Security是一個框架,致力於為Java應用程序提供身份驗證和授權。與所有Spring項目一樣,Spring Security的真正強大之處在於可以輕鬆擴展以滿足自定義要求。 更多信息可以查看官網:https://spring.io/projects/spring-security 二、Spring Security的主要功能 認證:驗證用戶名和密碼是否合法(是否系統中用戶) 授權:是系統用戶不代表你能使用某些功能,因為你可能沒有權限 防禦會話固定,點擊劫持,跨站點請求偽造等攻擊 Servlet API集成 與Spring Web MVC的可選集成 三、快速入門 新建一個SpringBoot的web項目spring-boot-security。 案例1:接口不添加保護 pom文件中不引入Spring Security,然後新建一個controller: @RestController public class AppController { @GetMapping("/hello") public String hello() { return "Hello,spring security!"; } } 然後打開瀏覽器訪問:http://localhost:8080/hello,成功后返回: Hello,spring security! 案例2:接口添加保護 pom文件添加依賴 pom文件中引入Spring Security的starter: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId>

在 ASP.NET Core 項目中使用 MediatR 實現中介者模式

 一、前言    最近有在看 DDD 的相關資料以及微軟的  這個項目中基於 DDD 的架構設計,在  這個示例服務中,可以看到各層之間的代碼調用與我們之前傳統的調用方式似乎差異很大,整個項目各個層之間的代碼全部是通過注入 IMediator 進行調用的,F12 查看源碼后可以看到該接口是屬於  這個組件的。既然要照葫蘆畫瓢,那我們就先來了解下如何在 ASP.NET Core 項目中使用 。   代碼倉儲:  二、Step by Step     從 github 的項目主頁上可以看到作者對於這個項目的描述是基於中介者模式的 .NET 實現,是一種基於進程內的數據傳遞。也就是說這個組件主要實現的是在一個應用中實現數據傳遞,如果想要實現多個應用間的數據傳遞就不太適合了。從作者的 github 個人主頁上可以看到,他還是  這個 OOM 組件的作者,PS,如果你想要了解如何在 ASP.NET Core 項目中使用 AutoMapper,你可以查看我之前寫的這一篇文章()。而對於 MediatR 來說,在具體的學習使用之前,我們先來了解下什麼是中介者模式。   1、什麼是中介者模式   很多舶來詞的中文翻譯其實最終都會與實際的含義相匹配,例如軟件開發過程中的 23 種設計模式的中文名稱,我們其實可以比較容易的從中文名稱中得知出該設計模式具體想要實現的作用,就像這裏介紹的中介者模式。   在我們通過代碼實現實際的業務邏輯時,如果涉及到多個對象類之間的交互,通常我們都是會採用直接引用的形式,隨着業務邏輯變的越來越複雜,對於一個簡單的業務抽象出的實現方法中,可能會被我們添加上各種判斷的邏輯或是對於數據的業務邏輯處理方法。   例如一個簡單的用戶登錄事件,我們可能最終會抽象出如下的業務流程實現。 public bool Login(AppUserLoginDto dto, out string msg) { bool flag = false ; try { // 1、驗證碼是否正確 flag = _redisLogic.GetValueByKey(dto.VerificationCode); if (! flag) {

吉利總投資80億元新能源整車項目落戶杭州 首期年產10萬輛

4月20日,總投資 80億元吉利新能源整車項目成功簽約落戶杭州大江東。 吉利新能源整車專案計畫投資80億元,用地600畝,首期年產10萬輛AMA平臺新能源汽車整車,達產後年銷售收入不少於150億元。專案包括了衝壓、焊裝、塗裝、總裝四大工藝以及與之配套的試車跑道、停車場、動力站房、管理辦公中心、生活配套區等協助工具設施。據悉,AMA平臺是吉利集團歷時三年專門為為新能源汽車打造的全新平臺,確保了整車項目的工藝技術水準、設備裝備水準達到國內領先、國際一流的先進水準。 本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※帶您來了解什麼是  USB CONNECTOR   ? ※自行創業 缺乏曝光? 下一步" 網站設計 "幫您第一時間規劃公司的門面形象 ※如何讓商品強力曝光呢? 網頁設計公司 幫您建置最吸引人的網站,提高曝光率!! ※綠能、環保無空污,成為 電動車 最新代名詞,目前市場使用率逐漸普及化 ※廣告預算用在刀口上, 網站設計公司 幫您達到更多曝光效益 ※試算 大陸海運 運費! Orignal From: 吉利總投資80億元新能源整車項目落戶杭州 首期年產10萬輛

上汽集團150億定增用於投資新能源汽車、車聯網等

上汽集團4月20日晚間公告稱,中國證監會發行審核委員會於4月20日對公司非公開發行A股股票的申請進行了審核。根據會議審核結果,公司本次非公開發行A股股票的申請獲得審核通過。 根據調整後的定增預案,上汽集團擬以不低於15.56元/股非公開發行不超過9.64億股,募集資金不超過150億元用於投資新能源汽車、智慧化大規模定制、前瞻技術與車聯網、汽車服務與汽車金融領域內多個項目,其中公司控股股東上汽總公司擬認購不超過30億元,公司員工持股計畫擬認購不超過11.6745億元。 定增募集資金主要投向新興領域:其中新能源相關專案72億、智慧定制化專案20億、前瞻技術(燃料電池/智慧汽車)及車聯網19億、汽車服務與金融專案39億。 戰略定位由汽車製造轉為綜合服務:研發製造業環節,資源更多的向新能源汽車、智慧汽車傾斜;同時更加注重汽車服務領域的潛力挖掘,包括汽車金融、維修服務等。 公司為業務轉型已做大量的準備和調整:1、組織架構調整,新成立服務貿易事業部、金融事業部,用於整合內部相關業務;2、廣泛儲備技術,公司先後投入60億用於新能源產品開發,是國內少有的推出插電式車型的車企;3、積極跨界合作,公司已與阿裡巴巴、中國石油等企業在車聯網、汽車後市場方面建立戰略合作;4、激勵機制調整,本次增發實現更大額度的持股,同時在部分新業務上還實現了更大幅度的員工持股。 公司新業務發展目標:1、新能源汽車領域,完善供應鏈體系,有效降低成本,加快推出產品,2016、2020年分別實現2.6、20萬銷量;2、智慧汽車領域,2016年下半年推出與阿裡巴巴合作開發的首款互聯網汽車;3、服務貿易領域,以車享網/車享家為服務平臺,建立涵蓋(自建1500家)1萬家店的服務體系,至2020年,實現收入3000億(含物流/維修/金融)。 本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※為什麼 USB CONNECTOR 是電子產業重要的元件? ※ 網頁設計 一頭霧水??該從何著手呢? 找到專業技術的 網頁設計公司 ,幫您輕鬆架站! ※想要讓你的商品成為最夯、最多人討論的話題? 網頁設計公司 讓你強力曝光 ※想知道最厲害的 台北網頁設計公司推薦

大眾汽車尾氣門賠償方案出爐

據外媒報導,大眾汽車集團將準備至少100億美元,應對"尾氣門"醜聞導致的賠償。按照美國聯邦法官設定的最後期限,大眾日前簽訂框架協定,將回購50多萬輛作弊柴油車,並將向車主支付賠償金。 大眾這次將賠上百億美元 據知情人士披露,大眾汽車集團此次還同意安排至少100億美元預算,用於支付美國政府的美國民事訴訟罰款和美國車主的索賠。 此外,大眾回購的車輛將包括自2009年起售的捷達轎車、高爾夫緊湊車及奧迪A3,這些車輛均搭載2.0升EA189柴油發動機。不過,包括奧迪和保時捷SUV在內的另外8萬輛搭載3.0升柴油發動機的車輛則不在回購範圍之內,這些車輛同樣採用了作弊軟體,使得測試結果好於實際情況。 關於本次大眾如何賠償,來自路透社的消息稱,目前在個人賠償方面,大眾還未做出任何決定。而德國《世界報》(Die Welt)4月20日則報導稱,大眾"尾氣門"解決方案中將包括支付相關車主每人5,000美元,涉及58萬輛車,但不包括升級軟體的費用。 損失總金額到底是多少? 大眾汽車將總共為尾氣門醜聞蒙受多少經濟損失?迄今尚無準確說法。起初在去年9月尾氣門曝光甫始,大眾被指將被美國當局罰款180多億美元,創汽車行業最大罰單。 之後大眾宣佈,在2015年第三季度安排67億歐元(約合76億美元)用於修復相關車輛和賠償。不過由於在全球範圍內涉及超過1,100萬輛車,之後又多次曝光更多車輛涉及排放測試舞弊,業界對大眾經濟損失總額的估計值也隨之膨脹。部分機構甚至認為大眾可能最終損失900億美元之巨。 不過實際情況可能沒有極端說法那樣令人震驚。從理論上說,大眾蒙受的民事賠償可能超過420億美元,但現實中卻並未達到該數字。彭博社分析師Brandon Barnes估算,大眾回購在美國所有舞弊車輛將耗費94億美元。 Evercore ISI機構最新估算數字顯示,大眾可能最終為尾氣門埋單大約300億歐元。 本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※ USB CONNECTOR 掌控什麼技術要點? 帶您認識其相關發展及效能 ※評比前十大 台北網頁設計 、 台北網站設計 公司知名

50行Python代碼實現視頻中物體顏色識別和跟蹤(必須以紅色為例)

目前計算機視覺(CV)與自然語言處理(NLP)及語音識別並列為人工智能三大熱點方向,而計算機視覺中的對象檢測(objectdetection)應用非常廣泛,比如自動駕駛、視頻監控、工業質檢、醫療診斷等場景。 目標檢測的根本任務就是將圖片或者視頻中感興趣的目標提取出來,目標的識別可以基於顏色、紋理、形狀。其中顏色屬性運用十分廣泛,也比較容易實現。下面就向大家分享一個我做的小實驗———通過OpenCV的Python接口來實現從視頻中進行顏色識別和跟蹤。 下面就是我們完整的代碼實現(已調試運行): import numpy as np import cv2 font = cv2.FONT_HERSHEY_SIMPLEX lower_green = np.array([35, 110, 106]) # 綠色範圍低閾值 upper_green = np.array([77, 255, 255]) # 綠色範圍高閾值 lower_red = np.array([0, 127, 128]) # 紅色範圍低閾值 upper_red = np.array([10, 255, 255]) # 紅色範圍高閾值 #需要更多顏色,可以去百度一下HSV閾值! # cap = cv2.VideoCapture('1.mp4') # 打開視頻文件 cap = cv2.VideoCapture(0)#打開USB攝像頭 if (cap.isOpened()): # 視頻打開成功 flag = 1 else: flag = 0 num = 0 if (flag): while (True): ret, frame = cap.read() # 讀取一幀 if ret == False: # 讀取幀失敗 break hsv_img = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) mask_green = cv2.inRange(hsv_img, lower_green, upper_green) # 根據顏色範圍刪選 mask_red =

德國政府為推廣電動汽車 計畫為消費者免稅10年

德國政府計畫至2020年德國電動車保有量由當前的3萬輛左右增加至上百萬輛,此外,政府近日出臺了總共8頁的"未來移動方案"檔,檔中提議,為2020年以前購買電動車的個人消費者提供為期10年的免稅優惠。 檔中還提出了進一步措施,包括大規模擴張充電站、從2017年1月1日起將政府用車中電動車的比例提高至20%、以及推出電動車電池研發項目。這些措施將在德國南部Rust舉行的政黨官員會議中進行討論。 據報導,經過數個月的討論,由德國總理安格拉•默克爾(Angela Merkel)保守黨及社會民主黨(SPD)成員組成的議會團體已經就檔相關要點達成一致,或在本週四對全部的決議作出決定。 本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※ 台北網頁設計公司 這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家" ※ 網頁設計公司推薦 更多不同的設計風格,搶佔消費者視覺第一線 ※想知道購買電動車哪裡補助最多? 台中電動車 補助資訊懶人包彙整 ※ 小三通海運 與一般國際貿易有何不同? ※ 小三通快遞 通關作業有哪些? Orignal From: 德國政府為推廣電動汽車 計畫為消費者免稅10年

沃爾沃計畫到2025年電動車銷量達百萬輛

據報導,由於沃爾沃2015年全球銷量首次突破50萬輛大關,創下同期銷量紀錄,該公司計畫到2025年實現100萬輛電動車的銷量目標。 2015年,沃爾沃全球銷量同比增長了8%至503,127輛。該公司稱其計畫為每款車型都增添至少兩個混合動力版,在2019年推出一款純電動車,到2025年電動車銷量達到100萬輛。 除沃爾沃汽車集團外,雷諾-日產公司2015年電動車全球銷量達302,000輛,其計畫到2017年3月31日實現150萬輛電動車銷量目標,去年銷量則遠遠落後於此目標。 本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※想知道 網站建置 、 網站改版 該如何進行嗎?將由專業工程師為您規劃 客製化網頁設計 及 後台網頁設計 ※不管是 台北網頁設計公司 、 台中網頁設計公司 ,全省皆有專員為您服務 ※Google地圖已可更新顯示 潭子電動車 充電站設置地點!! ※帶您來看 台北網站建置 , 台北網頁設計 ,各種案例分享 ※ 小三通物流 營運型態? ※快速運回, 大陸空運 推薦? Orignal From: 沃爾沃計畫到2025年電動車銷量達百萬輛

中國自主研製出2.0版新能源汽車動力系統

中車株洲電機公司自主研製的新能源汽車第二代動力系統——輪邊永磁驅動系統22日成功下線。這實現了中國國產新能源汽車動力系統由第一代動力集中型向第二代動力分散型的革命性轉變,打破了對國外進口的依賴。 據中車株洲電機技術人員介紹,驅動系統改變了新能源汽車過去所採用的中央電機集中驅動方式,直接由2台安裝在電動汽車車橋兩側的永磁輪邊電機進行驅動。其中,永磁電機額定功率、轉速、扭矩等各項技術指標優異,最高效率可達96%,電機控制器輸出頻率高達600Hz,提升了電動汽車運行的平穩性與舒適性。 其扁平式的電機結構非常先進,裝車後與採用集中驅動的電動汽車相比,地板高度可以降低180-320mm,達到低地板水準,能夠取消上下車門處的臺階,車內後排坐椅也無需階梯狀佈置,可有效方便乘客特別是老人及小孩上下車,並縮短電動汽車停站時間,緩解公交壓力。 目前,中國新能源汽車第二代動力分散型驅動系統多依賴進口,且停留在三相非同步電機的水準。而中車株洲電機自主研製的第二代輪邊驅動系統成功將高鐵永磁技術運用於新能源汽車,通過以永磁高鐵核心動力技術為支撐,有效克服了永磁體失磁難題,保證了電機在各種極限條件下的磁體穩定。 本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※ 網頁設計公司推薦 更多不同的設計風格,搶佔消費者視覺第一線 ※廣告預算用在刀口上, 網站設計公司 幫您達到更多曝光效益 ※自行創業 缺乏曝光? 下一步" 網站設計 "幫您第一時間規劃公司的門面形象 ※ 台灣寄大陸海運 貨物規則及重量限制? ※ 大陸寄台灣海運 費用試算一覽表 ※ 台中搬家 , 彰化搬家 , 南投搬家 前需注意的眉眉角角,別等搬了再說! Orignal From: 中國自主研製出2.0版新能源汽車動力系統

Zabbix-(四)郵件、釘釘告警通知

Zabbix-(四)郵件、釘釘告警通知 一.前言 在之前的文章里,通過Zabbix對主機的磁盤、CPU以及內存進行了監控,並在首頁Dashboard里創建了監控圖形,但是只有當我們登錄到Zabbix后才能看到監控到的 問題(Problem) ,因此在本篇文章里,將利用 觸發器(Trigger) ,以及 媒介(Media) 等配置項,實現當 觸發器 觸發時,通過不同 媒介 ,如:郵件、釘釘,發送 動作(Action) ,實現實時通知告警功能。 準備 Zabbix Server (Zabbix 4.4) 在Zabbix中已配置一些監控項和觸發器(這些配置可以參考我的) 二.安裝相關環境 由於使用到腳本告警媒介,本文中通過調用Python腳本觸發告警,因此需要在Zabbix Server主機上安裝pip以及相關模塊。(這裏Python使用Centos7自帶的Python2.7.5) 安裝pip # yum install -y epel-release # yum install -y python-pip 安裝requests模塊 # pip install requests 三.配置告警媒介類型 Zabbix默認自帶了2種 報警媒介類型(Media Type) , 电子郵件 以及 短信 ,我們將修改电子郵件類型配置,並新建 腳本 類型和 Webhook 類型。希望通過 腳本、Webhook 告警媒介發送釘釘消息。 注:Webhook告警媒介是Zabbix 4.4的新特性 修改电子郵件告警媒介 點擊【管理】-【報警媒介類型】-【Email】 修改Email配置,我這裏用的是Outlook郵箱,具體SMTP服務器可以參考。使用其他郵箱也可以去對應官網查詢SMTP配置。 測試發送郵箱,點擊【測試】 輸入收件人郵箱 收到郵件 新增腳本告警媒介 新建Python腳本告警媒介,用戶釘釘告警 點擊【創建媒體類型】 進行配置 配置項 值 * 名稱 Python腳本 類型

三菱再爆電動車里程造假疑雲

日商三菱汽車日前自爆旗下汽車油耗測試造假,如今連電動車款也出了問題。日媒指出,三菱在海外銷售的電動車i-MiEV也涉及謊報里程耗電數據問題。 德國福斯汽車去年爆出排放廢氣造假醜聞,引發各界譁然。今年四月20日,日商三菱汽車也自爆迷你車款油耗測試造假,並開始研擬補償機制。但一波未平、一波又起,日媒產經新聞指出,三菱的外銷款電動車i-MiEV在里程耗電數據方面也有造假情事,可能與三菱迷你車款一樣,用竄改空氣與輪胎阻力、抑或是採用時間較短的美國「高速慣性行駛法」測試,讓油耗/電耗數據較實際狀況降低5~10%。 若三菱電動車確實也牽涉里程造假,則旗下有問題的車款已包括:RVR、Outlander、Pajero、Minicab MiEV、i-MiEV等。日本相關當局要求三菱在27日之前繳交報告。 自三菱自爆油耗造假醜聞已來,三菱的股票持續重挫,直到4月22日止,市值已蒸發3,600億日圓左右。 (照片來源:) 本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理 【其他文章推薦】 ※如何讓商品強力曝光呢? 網頁設計公司 幫您建置最吸引人的網站,提高曝光率!! ※ 網頁設計 一頭霧水??該從何著手呢? 找到專業技術的 網頁設計公司 ,幫您輕鬆架站! ※想知道最厲害的 台北網頁設計公司推薦 、 台中網頁設計公司推薦 專業設計師"嚨底家"!! ※ 大陸寄台灣空運 注意事項 ※ 大陸海運台灣 交貨時間多久? ※避免吃悶虧無故遭抬價! 台中搬家公司 免費估價,有契約讓您安心有保障! Orignal From: 三菱再爆電動車里程造假疑雲

阿里汽車發佈「車秒貸」2.0

4月24日,阿里在北京車展前日發佈了「車秒貸」2.0版本。阿里汽車事業部總經理王立成對該產品的描述是「拿起手機,最快20秒就可以完成最高上限為20萬人民幣(下同)的貸款額度,如果恰好你所在的品牌4S店有現車,手續辦理後就可以直接開走。」車秒貸升級2.0後,通過螞蟻金服旗下的網商銀行的大資料風控模型,車秒貸授信用戶從此前的5000萬擴大到1億。 在車秒貸體系中,網商銀行向汽車金融公司輸出大資料風控模型,説明汽車金融公司來甄別風險、篩選用戶。從車秒貸1.0版本發佈起,網商銀行聯合東風標緻雪鐵龍金融、海馬財務、創富租賃等7家汽車金融公司,全國累計申請車秒貸的消費者超過6萬名。目前,網商銀行正與廣汽匯理、郵政儲蓄銀行、通用金融、日產金融、一汽金融、奇瑞徽銀等多家金融公司洽談合作,進一步擴大業務規模。 據悉,廣汽匯理、郵政儲蓄銀行預期在今年5月正式上線車秒貸產品,其中,廣汽匯理最高貸款額度或將超50萬,屆時,享受車秒貸產品的車型價位也將會全面提升。 王立成介紹說,車秒貸用戶線上上無需任何材料,只要登錄天貓移動用戶端,選取車型和貸款方案,等待極短時間後即可得到一個確定給到的貸款額度,最快一筆授信審批通過只需要20秒,授信額度最高可達汽車指導價的80%。 目前接入「車秒貸」的品牌廠商有奧迪、東風日產、東風雪鐵龍、東風標緻、別克、通用雪佛蘭、吉利、奇瑞、力帆、DS、海馬汽車等33家,已上線的車型共75款乘用車,價格區間為10~30萬 。其中,10~15萬的汽車占比超80%。 汽車廠商之所以願意加入「車秒貸」,一方面是看中這種新型的線上放款模式更加高效,也看中電商平臺能否帶來更多線下無法觸及的用戶。在之前的運作中,阿里汽車發現,線上線下客戶有明顯的差異化,一部分按照線下標準無法成功申請貸款的客戶(如無車或無房),在車秒貸的平臺上獲得貸款的機率更大。 阿里巴巴提供的資料顯示,上海、武漢、蘇州、南京、北京為車秒貸消費密集的城市。但從趨勢上看,通過大資料預測,未來77%的新車需求會在三四五線城市。從消費年齡上看維度較廣,70、80、90後的為主流用戶群體。其中,90後大學畢業生接受度最高。 本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理 【其他

Dev 日誌 | 一次 Segmentation Fault 和 GCC Illegal Instruction 編譯問題排查

摘要 筆者最近在重新整理和編譯 Nebula Graph 的第三方依賴,選出兩個比較有意思的問題給大家分享一下。 Flex Segmentation Fault——Segmentation fault (core dumped) 在編譯 Flex 過程中,遇到了 Segmentation fault: make[2]: Entering directory '/home/dutor/flex-2.6.4/src' ./stage1flex -o stage1scan.c ./scan.l make[2]: *** [Makefile:1696: stage1scan.c] Segmentation fault (core dumped) 使用 gdb 查看 coredump: Core was generated by `./stage1flex -o stage1scan.c ./scan.l'. Program terminated with signal SIGSEGV, Segmentation fault. #0 flexinit (argc=4, argv=0x7ffd25bea718) at main.c:976 976 action_array[0] = '\0'; (gdb) disas Dump of assembler code for function flexinit: 0x0000556c1b1ae040 <+0>: push %r15 0x0000556c1b1ae042 <+2>: lea 0x140fd(%rip),%rax # 0x556c1b1c2146 ... 0x0000556c1b1ae20f <+463>: callq 0x556c1b1af460 <allocate_array> #這裏申請了buffer ... => 0x0000556c1b1ae24f <+527>: movb $0x0,(%rax) # 這裏向buffer[0]寫入一個字節,地

Feign 調用丟失Header的解決方案

問題 在 Spring Cloud 中 微服務之間的調用會用到Feign,但是在默認情況下,Feign 調用遠程服務存在Header請求頭丟失問題。 解決方案 首先需要寫一個 Feign請求攔截器,通過實現RequestInterceptor接口,完成對所有的Feign請求,傳遞請求頭和請求參數。 Feign 請求攔截器 public class FeignBasicAuthRequestInterceptor implements RequestInterceptor { private static final Logger logger = LoggerFactory.getLogger(FeignBasicAuthRequestInterceptor.class); @Override public void apply(RequestTemplate requestTemplate) { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); Enumeration<String> headerNames = request.getHeaderNames(); if (headerNames != null) { while (headerNames.hasMoreElements()) { String name = headerNames.nextElement(); String values = request.getHeader(name); requestTemplate.header(name, values); } }

Kafka needs no Keeper(關於KIP-500的討論)

寫在前面的 最近看了Kafka Summit上的這個分享,覺得名字很霸氣,標題直接沿用了。這個分享源於社區的,大體的意思 今後Apache Kafka不再需要ZooKeeper 。整個分享大約40幾分鐘。完整看下來感覺乾貨很多,這裏特意總結出來。如果你把這個分享看做是《三國志》的話,那麼姑且就把我的這篇看做是裴松之注吧:) 客戶端演進 首先,社區committer給出了Kafka Java客戶端移除ZooKeeper依賴的演進過程。下面兩張圖總結了0.8.x版本和0.11.x版本(是否真的是從0.11版本開始的變化並不重要)及以後的功能變遷:在Kafka 0.8時代,Kafka有3個客戶端,分別是Producer、Consumer和Admin Tool。其中Producer負責向Kafka寫消息,Consumer負責從Kafka讀消息,而Admin Tool執行各種運維任務,比如創建或刪除主題等。其中Consumer的位移數據保存在ZooKeeper上,因此Consumer端的位移提交和位移獲取操作都需要訪問ZooKeeper。另外Admin Tool執行運維操作也要訪問ZooKeeper,比如在對應的ZooKeeper znode上創建一個臨時節點,然後由預定義的Watch觸發相應的處理邏輯。 後面隨着Kafka的演進,社區引入了__consumer_offsets位移主題,同時定義了OffsetFetch和OffsetCommit等新的RPC協議,這樣Consumer的位移提交和位移獲取操作全部轉移到與位移主題進行交互,避免了對ZooKeeper的訪問。同時社區引入了新的運維工具AdminClient以及相應的CreateTopics、DeleteTopics、AlterConfigs等RPC協議,替換了原先的Admin Tool,這樣創建和刪除主題這樣的運維操作也完全移動Kafka這一端來做,就像下面右邊這張圖展示的: 至此, Kafka的3個客戶端 基本上 都不需要和ZooKeeper交互了。應該說移除ZooKeeper的工作完成了大部分,但依然還有一部分工作要在ZooKeeper的幫助下完成,即Consumer的Rebalance操作。在0.8時代,Consumer Group的管理是交由ZooKeeper完成的,包括組成員的管理和

前後端分離,我怎麼就選擇了 Spring Boot + Vue 技術棧?

前两天又有小夥伴私信松哥,問題還是職業規劃,Java 技術棧路線這種,實際上對於這一類問題我經常不太敢回答,每個人的情況都不太一樣,而小夥伴也很少詳細介紹自己的情況,大都是一兩句話就把問題拋出來了,啥情況都不了解,就要指出一個方向,這實在是太難了。 因此今天我想從我學習 Spring Boot + Vue 這套技術棧的角度,來和大家聊一聊沒有人指導,我是如何一步一步建立起自己的技術體系的。 線上大家看我經常寫文章,線下我其實比較宅,跟人交流比較少,我也很少問別人職業規劃或者技術規劃這些問題,因為這種學什麼的問題,我喜歡自己把握,我不太喜歡被別人牽着走。 Rome was not built in a day ,剛開始接觸 Spring Boot + Vue 時,我甚至都沒有一個明確的想法,只是覺得該學點什麼,不能讓時間浪費,沒有告訴我 Spring Boot 要火了,也沒有人告訴我 Vue 要超過 React 了,都是我自己一直在摸索摸索,一步一步,直到構建起這套技術大廈。 Spring Boot 先說說 Spring Boot 吧,三年前差不多也是這個時候,是我第一次接觸 Spring Boot ,那個時候我的正式身份還是一名 Android 工程師,那段時間在研究 Android7 的源碼,還寫了一些博客: 但是那個時候 Android 的行情在慢慢下滑,而我剛畢業 1 年多,未來還有更加豐富的技術人生,我不願意這麼早就把技術棧定死,而且還定在一個行情日漸下滑的技術棧上。所以我打算學一點新的東西。 Python、Go、前端 和 Java 都是備選的方向,但是最終還是選擇繼續做 Java,有三個原因: 做 Java 當時可以在公司內部轉崗,做 Python 或者 Go 的話,可能就得換工作了,技術棧切換,一切從頭開始,當時心裏還是沒底,於是就選擇繼續做 Java 剛好大學的時候也有 JavaEE 的底子,重新撿起來 JavaEE 相關的技術點倒也不是啥難事 第三點也是最重要的一點,我一直希望能夠獨立接點私活,這樣有一天賺錢能夠不受工作地點的限制,基於這樣的初衷,我一直希望走全棧的路線,用 Python 和 Go 雖然也可以做企業級應用,但是在目前的技術環境下,這並不算是主流方案,主流方案依然是 Java ,雖然

020.掌握Pod-Pod基礎使用

一 Pod定義詳解 1.1 完整Pod定義文件 1 apiVersion: v1 #必選,版本號,例如v1,版本號必須可以用 kubectl api-versions 查詢到 2 kind: Pod #必選,Pod 3 metadata: #必選,元數據 4 name : string #必選,Pod名稱,需符合RFC 1035規範 5 namespace: string #必選,Pod所屬的命名空間,默認為" default " 6 labels: #自定義標籤 7 - name : string #自定義標籤名字 8 annotations: #自定義註釋列表 9 - name : string 10 spec: #必選,Pod中容器的詳細定義 11 containers: #必選,Pod中容器列表 12 - name : string #必選,容器名稱,需符合RFC 1035規範 13 image: string #必選,容器的鏡像名稱 14 imagePullPolicy: [ Always|Never|IfNotPresent ] #獲取鏡像的策略,Alawys表示每次都嘗試下載鏡像,IfnotPresent表示優先使用本地鏡像,否則下載鏡像,Nerver表示僅使用本地鏡像 15 command: [string] #容器的啟動命令列表,如不指定,使用打包時使用的啟動命令 16 args: [string] #容器的啟動命令參數列表 17 workingDir: string #容器的工作目錄 18 volumeMounts: #掛載到容器內部的存儲卷配置 19 - name : string #引用pod定義的共享存儲卷的名稱,需用volumes[]部分定義的的卷名 20 mountPath: string #存儲卷在容器內mount的絕對路徑,應少於512字符 21 readOnly