分類
發燒車訊

繼 Here 地圖之後,戴姆勒可望與奧迪、BMW 等車廠結盟打造車用電池

  德國車廠戴姆勒(Daimler AG)今年 7 月才與另外 2 家德國汽車大廠奧迪(Audi)及 BMW 結盟,要以 25 億歐元競購 Nokia Here 地圖,據悉目前此 3 家車廠為最接近 Here 地圖的買家,而除了一同收購 Here 地圖業務外,未來這幾家德國車廠的合作,可能還會延伸到車用電池領域。   戴姆勒執行長 Dieter Zetsche 於 9 月 23 日在法蘭克福車展上表示,「德國車廠間有許多共通點」,因此除了 Here 地圖業務外,戴姆勒不排除與德國其他汽車大廠在其他領域上有所合作,甚至對此持開放態度,而下一步可能就是針對電池業務做結盟。   近來戴姆勒似乎頻頻釋出要與其他企業針對不同領域合作的意願,8 月底 Zetsche 才對外透露,考慮與蘋果及 Google 等公司成立合資企業,共同研發自動駕駛車。       (首圖來源:Flickr/ CC BY 2.0)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家費用,距離,噸數怎麼算?達人教你簡易估價知識!

分類
發燒車訊

Gogoro全系列降價 電池交換站擴至桃竹

台灣電動機車Gogoro上市至今已售出近千輛Smartscooter™智慧機車。10月1日,Gogoro Lite平價版正式推出,售價新台幣62,000元起。此外,電池交換站也將布點至桃園、新竹,讓更多騎士享受Gogoro服務。

Gogoro目前在雙北地區共有七個銷售站、四個維修中心,GoStation電池交換站超過80座,且將走出台北、新北市,將服務擴大到桃園與新竹地區,預計2015年底前就能服務到北北基、桃、竹的騎士。

Gogoro同時發表了廉價版電動機車Gogoro Lite,採用單色儀表板、黑色龍頭按鈕、一般烤漆設計,以及都會型的動力模式;扣除政府補助後的價格為新台幣62,000元起(補助前零售價88,000)。Gogoro以及Gogoro Plus的價格也同步調降到新台幣72,000與82,000元起(補助前零售價分別為98,000及108,000),且九月30日前購買的車主將可全額退還購買差額。

Gogoro創辦人暨執行長陸學森表示:「為進一步滿足多元的需求,讓更多喜歡Gogoro 的朋友也可以輕鬆地成為Smartscooter™ 的車主,我們不僅推出入門款Gogoro® Lite,也同步調整Gogoro® 和Gogoro® Plus 的產品價格,希望消費者在二輪市場主流價格帶有更多、更好的選擇,並透過實際擁有Gogoro®,享受智慧綠能移動的新價值,加速邁入智慧城市的嶄新時代。」

(照片來源:Gogoro)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

南投搬家前需注意的眉眉角角,別等搬了再說!

分類
發燒車訊

電動車窗開關瑕疵 豐田全球召修 650 萬車

全球最大車廠日本豐田汽車(Toyota)因為電動車窗開關瑕疵,將在全球召修 650 萬車。 豐田說,這個瑕疵有火災風險。 這是豐田最新一起召修舉動作,近幾個月來,豐田已 因為造成全球多起死亡事件的安全氣囊瑕疵而召修近 1,000 萬輛車。   豐田汽車說,這些車子的電動車窗主控開關瑕疵,可能會造成電線短路的問題,引起零件因過熱而融化,進而造成冒煙,然後起火。必須召修的車款包括 2005 年至 2010 年生產的Yaris, Corolla, Camry及RAV4 休旅車。其中約有 270 萬輛在北美售出,120 萬輛在歐洲售出。豐田汽車表示,目前還沒有接獲因此問題造成的意外或傷亡。  

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家費用,距離,噸數怎麼算?達人教你簡易估價知識!

分類
發燒車訊

第六屆中國國際新能源汽車論壇

第六屆中國國際新能源汽車論壇2016重磅回歸,打造行業規模最大的新能源汽車論壇

2016年4月20-22日∣中國•上海
誰能智造未來-技術應用與新熱點

隨著全球能源危機的加重及汽車排放引起的環境問題日益得到世界各國的重視,發展環保節能的汽車已經成為全球汽車行業的必然趨勢。

在過去五屆新能源汽車論壇成功舉辦的基礎上,由希邁商務諮詢(上海)有限公司主辦的2016年第六屆中國國際新能源汽車論壇即將於4月20日-4月22日在上海隆重舉行。新能源汽車系列論壇成功邀請了包括國家發改委能源研究所、世界電動車協會、亞太電動車協會、世界氫能協會、世界分散式能源聯盟、中國工程院等在內的政府單位與研究機構,以及包括寶馬、賓士、奇瑞捷豹路虎、大眾、奧迪、比亞迪、上汽、北汽等在內的知名整車商,共同研討新能源汽車行業政策趨勢、技術路線及難點、基礎設施建設、商業模式等並取得了豐碩的成果,獲得了業內外人士的一致好評。

在即將到來的2016年,組委會為感謝業內外人士對系列論壇長期以來的支援和關注,將傾情奉上相比歷屆舉辦規模最大的第六屆新能源汽車論壇,涉及三個考察活動,主論壇及三個分論壇。屆時將誠邀全球範圍內的整車製造商、電網電力公司、電池廠商、零部件供應商、核心技術提供商和政府官員近500位行業人士一起,對新能源汽車產業面臨的挑戰,機遇與對策各方面進行為期三天更深層次並具有建設和戰略性的探討。

部分往屆評論

曹俊,奇瑞捷豹路虎
發言角度全面,觀點很多,回饋激烈!

黃錚,上海申沃客車
傳統零配件的演講很好的闡述了供應商如何應對新能源發展的機遇!

洪英林,德爾福
論壇水準很好,很希望下次可以繼續來參會,收穫頗多!

飯田和正,三菱汽車
安排有序,資訊傳達豐富,,演講氣氛非常好!

Thomas PETERS,寶馬中國
組織有序,討論話題很好,演講內容影響深刻!

Robert Galyen, CATL
專業的製造業板塊,內容涵蓋了中國新能源汽車整個產業鏈,十分值得參與!

會議亮點

  • 豐富的內容:
    8大板塊的深度解析
  • 參會嘉賓:
    500+高度滿意的企業決策者,120+業內知名企業,30+國家和地區
  • 參會嘉賓分析:
    17%+來自各國政府部門及權威機構,25%+來自知名整車商
  • 演講嘉賓:
    40+世界新能源汽車行業知名發言嘉賓
  • 交流機會:
    16+小時的交流機會:圓桌討論、VIP午宴和開放式問答
  • 會議形式:
    1個主論壇,1個晚宴,3個分論壇以及一天3個考察活動

會議結構

  上午 下午
 4月20日
  主論壇  
1.新能源汽車政策

2.國內外商業模式探討及專案解析

3.新能源汽車與環保

4.晚宴

4月20日
分論壇一
1.汽車與互聯網    2.汽車O2O

 4月21日
分論壇二           

.動力電池與電池管理系統

2.新能源汽車充電基礎建設與標準

3.無線充電技術

 4月21日
  分論壇三
1.電控電機技術 2.智慧製造產業
考察活動
4月22日

1.參觀上海大眾安亭汽車廠

2.參觀上海燃料電池汽車動力系統有限公司(待定)

3.參觀EV ZONE 中國(上海)電動汽車國際示範城市試駕中心

若您對峰會有更多要求,請撥打021-6045 1760與我們聯繫或登陸官方網站: 連絡人:Hill ZENG(曾先生)
電話:+86 21-6045 1760
傳真:+86 21-6047 5887
郵箱:

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

南投搬家前需注意的眉眉角角,別等搬了再說!

分類
發燒車訊

GitHub 發布了官方 App,還打算冰封你的代碼一千年

11 月 13 日,GitHub Universe 2019 開發者大會上,公布了大量新功能,包括髮布 GitHub 移動版、GitHub Actions 和 Packages 正式版上市、重新設計了通知體驗,以及宣布建設一個數據倉庫存儲所有公共倉庫一千年…

GitHub App

官方 App 終於來了,在手機上就可以 Review 代碼、處理 Issues、合併 PR 等常用操作。讓你無論身處何處,都可以靈活地推進工作並與團隊保持聯繫(加班)。

目前已經發布 iOS beta 版並上線 TestFlight,連黑暗模式都安排上了。

Android 版還要等段時間推出。

Actions 和 Packages 正式版

去年 Universe 大會上發布的 GitHub Actions,以及今年上半年發布的 GitHub Packages 結束了測試期。

GitHub Actions 是倉庫自帶的自動化構建與部署功能,擁有完整的 CI/CD 解決方案和本機軟件包管理,並且 GitHub Marketplace 上也提供有上千款社區開發的工作流可以使用。

GitHub Packages 是官方推出的包管理功能,實現將源代碼和包在一個地方集成權限管理和統計,託管在 GitHub 上的軟件包,不僅包括詳細信息和下載統計信息,而且還有它們的全部歷史記錄。

現在這兩款功能免費向所有公共倉庫開放,並且可以使用 Actions 將新的軟件包版本自動發布到 GitHub Packages,使用 Actions 觸發軟件包安裝,以及以最小的配置安裝託管在 GitHub Packages 或首選記錄註冊表上的軟件包和映像。通過 Actions 使用相同的 GITHUB_TOKEN 進行所有自動化程序包的上載和下載。

通知功能

以往在一些熱門開源項目中、或者大型團隊中,各種 Issues 和 PR 的通知郵件會無差別充斥在郵箱中,很難將信號和噪音區分開。

官方終於推出了通知功能來解決這個問題,設立了通知收件箱,可以對不同信息進行篩選和分類,讓你聚焦到有價值的信息中。

並且會着重結合官方 App 進行通知推送。

目前該功能是內測階段,如果想體驗可以下載 GitHub App 獲取測試資格。

代碼導航

代碼導航已於今年早些時候在特定存儲庫的有限公測中發布。今天,官方將其提供給 GitHub 上的所有 Ruby,Python 和 Go 存儲庫,並且很快就會有更多的語言。查看任何公共或私有存儲庫上的 “code” 選項卡,以獲取受支持的語言以進行嘗試。

代碼搜索

在接下來的幾個月中,官方將引入一種新的代碼搜索體驗,包括區分大小寫,特殊字符,標記化和其他特定於代碼的搜索條件。

保存你的代碼一千年

官方發布了一項偉大的計劃:將建設一個名為 GitHub Arctic Code Vault 的數據存儲庫,存儲在北極世界檔案館(AWA)中,這是一個長期的檔案設施,位於北極山永久凍土層深 250 米。

GitHub 將在 2020 年 2 月 2 日掃描所有活動公共存儲庫的快照,並將這些數據保存在 Arctic Code Vault 中。

官方博客這樣寫道:

我們與斯坦福圖書館,Long Now 基金會,Internet 檔案館,軟件遺產基金會,Piql,Microsoft Research 和 Bodleian 圖書館建立了合作夥伴關係,以保護全球的開源代碼。我們將通過跨各種數據格式和位置存儲多個副本來保護這種知識,包括一個旨在保存至少一千年的非常長期的檔案庫,稱為 GitHub Arctic Code Vault。

本文屬於原創,首發於微信公眾號「面向人生編程」,如需轉載請後台留言。

關注后回復以下信息獲取更多資源
回復【資料】獲取 Python / Java 等學習資源
回復【插件】獲取爬蟲常用的 Chrome 插件
回復【知乎】獲取最新知乎模擬登錄

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家費用,距離,噸數怎麼算?達人教你簡易估價知識!

分類
發燒車訊

如何提高web應用的吞吐量

這篇博文所列舉的優化手段是針對比較傳統項目,但是想提高系統的吞吐量現在時髦的技術還是那些前後端未分離, 使用nginx當成靜態資源服務器去代理我們的靜態資源

是誰限制了Throughput?

當我們對一個傳統的項目進行壓力測試時,很容器就發現,系統的Throughput被數據庫(mysql)限制的死死的,儘管代碼看起來確實沒毛病,邏輯也沒有錯誤,但是過多的請求都被打向了數據庫,數據庫自個開啟大量的IO操作,這樣大的負載甚至會使Linux系統的整體負載驟然飆升,但是反觀我們的系統的吞吐量,呵呵…

將目光投向緩存

既然mysql的抗壓能力限制了我們的系統,那就將數據緩存起來,盡一切可能減少用戶和數據庫之間的直接接觸的次數,這樣我們的系統的吞吐量,同一時間能處理器的請求數量自然會升上去

市面上的緩存技術很多, 比較火爆的是兩款緩存數據庫 Memcache 和 Redis ,

Redis 和 Memcahe的區別

  • Redis不僅僅支持key-value鍵值對類型的數據,同時還支持list,set,hash等數據結構
  • redis支持數據的備份,即master-slaver模式的集群備份
  • Redis是支持數據持久化的,它可以將內存中的數據保存在磁盤中,支持RDB和AOF兩種持久化形式

對Redis進行壓測

# 挨個測試redis中的命令
# 每個數據包大小是3字節
# 100個併發, 發起10萬次請求
redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000

[root@139 ~]# redis-benchmark -h 127.0.0.1 -p 9997 -c 100 -n 100000
====== PING_INLINE ======
  100000 requests completed in 1.04 seconds
  100 parallel clients
  3 bytes payload
  keep alive: 1

98.68% <= 1 milliseconds // 百分之98.68的請求在1毫秒內完成了
99.98% <= 2 milliseconds 
100.00% <= 2 milliseconds
96525.09 requests per second  // 每秒完成的請求數在9萬六左右


-d  指定數據包的大小,看下面redis的性能還是很強大的
-q  簡化輸出的參數
[root@139 ~]# redis-benchmark -h 127.0.0.1 -p 9997 -q -d 100 -c 100 -n 100000
PING_INLINE: 98619.32 requests per second
PING_BULK: 95877.28 requests per second
SET: 96153.85 requests per second
GET: 95147.48 requests per second
INCR: 95238.10 requests per second
LPUSH: 95328.88 requests per second
RPUSH: 95877.28 requests per second
LPOP: 95328.88 requests per second
RPOP: 97276.27 requests per second
SADD: 96339.12 requests per second
HSET: 98231.83 requests per second
SPOP: 94607.38 requests per second
LPUSH (needed to benchmark LRANGE): 92165.90 requests per second
LRANGE_100 (first 100 elements): 97181.73 requests per second
LRANGE_300 (first 300 elements): 96153.85 requests per second
LRANGE_500 (first 450 elements): 94428.70 requests per second
LRANGE_600 (first 600 elements): 95969.28 requests per second
MSET (10 keys): 98231.83 requests per second

只測試 指定的命令
-t 跟多個命令參數
[root@139 ~]# redis-benchmark -p 9997 -t set,get -q -n 100000 -c 100 
SET: 97276.27 requests per second
GET: 98135.42 requests per second

從上面的壓力測試中,可以看到,Redis的性能是絕對實力, 相當強悍,和mysql相比不是一個量級的, 所以結論很明顯,如果我們在用戶和mysql中鍵加一層redis做緩存,系統的吞吐量自然會上去

於是為了提高系統的抗壓能力,我們將壓力從mysql逐步轉移到redis中

頁面緩存技術

在說頁面緩存之前,我們先說一下在一個傳統的項目中,一個請求的生命周期大概是這樣的: 從瀏覽器發出到服務端, 服務端查詢數據庫獲取結果, 再將結果數據傳遞給模板引擎將數據渲染進html頁面

想提高這個過程的速度,我們可以這樣搞, 頁面緩存, 顧名思義就是將 html 頁面緩存到緩存數據庫中

示例如下:

一開始我們會先嘗試從緩存中獲取出已經渲染好的html源碼響應給客戶端, 響應的格式通過@ResponseBody和produces中的屬性進行控制,告訴瀏覽器自己會返回給它html文本

優點: 將用戶的請求的壓力從mysql轉移到redis, 這點強度對redis單機來說根本不是事

缺點: 很明顯,將請求擴大到頁面級別,數據一致性難免會受到影響, 這也是使用頁面緩存不得不考慮的一點

特點1 : 嚴格控制緩存的時間, 一定別忘了添加過期時間…

特點2 : 原來都是讓thymeleaf自動完成數據的渲染,現在的話,很明顯是我們手動在渲染數據

    @RequestMapping(value = "/to_list",produces = "text/html;charset=UTF-8")
    @ResponseBody
    public String toLogin(Model model, User user, HttpServletResponse response, HttpServletRequest request) {

        // 先從redis緩存中獲取數據
        String html = redisService.get(GoodsKey.goodsList, "", String.class);
        if (html != null)
            return html;

        // 查詢商品列表
        List<GoodsVo> goodsList = goodsService.getGoodsList();
        model.addAttribute("goodsList", goodsList);

        // 使用Thymeleaf模板引擎手動渲染數據
        WebContext springWebContext = new WebContext(request,response,request.getServletContext(),request.getLocale(),model.asMap());
        String goods_list = thymeleafViewResolver.getTemplateEngine().process("goods_list", springWebContext);

        // 存入redis
        if (goods_list!=null){
            redisService.set(GoodsKey.goodsList,"",goods_list);
        }
        return goods_list;
    }

既然都說到這裏了, 就接着說還能怎麼玩吧…

你看, 上面通過手動控制模板引擎的api竟然得到的已經渲染好的html源代碼了, 什麼叫做已經渲染好的? 說白了就是原來我在前端寫:th ${user},這樣的佔位符,現在已經被thymeleaf替換成了 張三 … (說的夠直接吧)

拿到了已經渲染好的源代碼,我們就能通過IO操作,將這個文件寫到系統的某個目錄上去,不知道大家有沒有發現,去逛京東淘寶瀏覽某個商品頁面時,就會發現url是類似這樣的 www.jjdd.com/aguydg/ahdioa/1235345.html

這個後綴123145.html 大概率說明京東使用靜態頁的技術, 這太明智了,面對如此巨大數量的商品信息後綴用数字來表示也不錯,而且速度還快不是?

怎麼實現這種效果呢?

就是上面說的,通過IO將這些源碼的數據寫到Linux中的某一個目錄下面, 文件名就是上面URL中的最後的数字, 通過Nginx做靜態資源服務器將這些xxx.html代理起來, 用戶再訪問的話就走這個靜態頁, 同樣不會接觸數據庫, 而且nginx還支持零拷貝,併發數5萬不是事…
還有,後綴數組最好也別亂寫,直接使用商品id會更好,畢竟是先點擊商品獲取到id,再進入到靜態頁

對象緩存技術

緩存java中的對象, 比如將用戶的信息持久化進redis, 每次用戶查詢自己的信息先從redis中查詢,有的話直接返回,沒有的話再去查詢數據庫, 這樣同樣實現了在用戶和數據庫之間多添加出一層緩存,也可以大大的提高系統的吞吐量

一般會怎麼玩呢?

用戶的請求在查詢數據庫之前先嘗試從redis中獲取對象信息, redis中不存在的話就去數據庫中查詢, 查詢完結果后將這個結果換存進redis

// todo 使用redis做緩存,減少和數據庫的接觸次數
public Label findById(Long labelId) {

    // 先嘗試從緩存中查詢當前對象
    Label label = (Label) redisTemplate.opsForValue().get("label_id" + labelId);

    if (label==null){
        Optional<Label> byId = labelRepository.findById(labelId);
        if (!byId.isPresent()) {
            // todo 異常
        }
        label = byId.get();

        // 將查出的結果存進緩存中
        redisTemplate.opsForValue().set("label_id"+label.getId(),label);
    }
    return label;
}

當用戶update數據 ,先更新數據庫,再刪除/更新redis中響應的緩存

public void update(Long labelId, Label label) {
    label.setId(labelId);
    Label save = labelRepository.save(label);

    // todo 數據庫修改成功后, 將緩存刪除
    redisTemplate.delete("label_id"+save.getId());
    }

當用戶刪除數據,先刪除數據庫中的數據,再刪除redis中的緩存

public void delete(Long labelId) {
    labelRepository.deleteById(labelId);

    // todo 數據庫修改成功后, 將緩存刪除
    redisTemplate.delete("label_id"+labelId);
}

模仿Vue實現頁面靜態化

大家都在說頁面靜態化, 它真的有那麼神奇嗎? 其實也沒有那麼神奇, 說白了吧,傳統的網頁上的數據是通過模板引擎渲染上去的,(比如JSP或者是說thymeleaf這類模板引擎), 做了靜態化的網頁中數據的渲染通過js完成, 而且這個網頁和項目中的 靜態資源比如js,css 這類的文件放在一個目錄下面, 地位和普通的靜態資源相同, 還有個好處就是, 瀏覽器給的福利, 因為瀏覽器對靜態資源是有緩存的, 如果你善於觀察,就會發現有時候重複請求某個網頁,網頁正常显示,但是狀態碼是304… 請求依然會到達服務端,但是服務端會告訴瀏覽器它想訪問的頁面其實沒有變化, 於是瀏覽器就找到本地的緩存使用

時下國內 最火爆的玩靜態頁面時下最火爆的技術就是 Angular.js 以及 Vue.js , 也確實好用, 前幾個月我寫過有關vue的筆記, 感興趣的同學可以去看看

在本篇博客中恰恰好沒用到VUE, 但是實現靜態頁的思路和vue是大差不差的, 同樣是通過js代碼實現頁面的靜態化

  • 首先說後端的代碼怎麼寫?

前後端分離嘛, 自然是json交互,後端通過@ResponseBody控制返回給前端json對象, 而且, 推薦大家也整一個VO對象,用這個VO對象將各式各樣的數據封裝在一起,一次性返回給前端, 這樣看上去,後端確實是簡單,也就是返回一個json對象

  • 前端怎麼寫呢?

第一件事就是將html文件從template文件夾下move到static文件夾下面, 讓這個html文件和js/css文件稱兄道弟

然後是給這個xxx.html該名字, 為啥要改名換目錄呢? 因為SpringBoot是約定大於編碼的, 在什麼目錄下面就是什麼文件, 此外Thymeleaf部分默認的配置信息如下

@ConfigurationProperties(prefix = "spring.thymeleaf")
public class ThymeleafProperties {

    private static final Charset DEFAULT_ENCODING = StandardCharsets.UTF_8;

    public static final String DEFAULT_PREFIX = "classpath:/templates/";

    public static final String DEFAULT_SUFFIX = ".html";

沒辦法,這些配置信息默認就認為類路徑下的templates中都是xxx.html的文件

第二件事是將html標籤中引入的類似thymeleaf這中命名空間都去掉,靜態頁不需要

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>商品列表</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <!-- jquery -->
    <!--<script type="text/javascript" th:src="@{/js/jquery.min.js}"></script>-->
    <script type="text/javascript" th:src="js/jquery.min.js"></script>

第三件事寫一個ajax,當頁面一加載就觸發向後台發請求,獲取數據, 通過jQuery操作各個節點完成數據的渲染

三步打完收工, 看上也不是很複雜, 但是我們的頁面就是已然成為了靜態頁面, 從此她會被瀏覽器緩存起來,只要這個頁面不發生變動,瀏覽器就會一直使用自己的緩存,在網絡上的數據傳輸量有多帶勁自己腦補,系統RT絕對飆升幾個數量級

靜態資源的優化手段

說一下市面上常見的靜態資源優化技術吧:

  • js/css 的壓縮與優化,減少流量
  • 多個js/css組合在一起,減少連接數量
  • Tengine 技術
  • webPack , 使用vue開發時,它就會將一整套vue的依賴打包一個js一個html文件,豈不是爽歪歪?
  • CDN加速技術, 很多雲服務廠商都有提供,而且價格也不貴,將體型大的靜態資源放在CDN上進行加速也是不錯的選擇
  • 使用Nginx做靜態資源代理,而且Nginx就支持零拷貝,還支持將數據文件壓縮后在網絡上傳輸 ,自身的併發量也很強大,當靜態資源服務器它絕對是不二首選, 相信我,你會愛上它的

另外當多個用戶併發修改庫存時,竟然將庫存修改成了負數, 本身使用的數據庫引擎是 innodb是存在行級鎖的, 我們只要修改一下我們的sql就行 加條件 and stock_number > 0

為了防止同一個用戶發送兩次請求,偶爾秒殺到多個商品的情況,我們去miaosha_user表中去建立一個唯一的索引,將userId建立唯一索引,不允許相同的userId出現兩次,從而避免上述的情況

驗證碼技術

  • 好處

讓用戶去輸入驗證碼的好處有很多, 除了驗證用戶的身份信息之外, 最明顯的好處就是分散用戶對系統的壓力, 前端如果不添加圖片驗證碼的可能在1s內系統需要承載1萬併發, 但是添加了圖片驗證碼, 就能將這1萬併發分散到10秒以內,甚至更多

  • 整體的思路:

    圖片驗證碼不過是個image, 所以說前端想展示它,肯定需要一個img標籤, 一個比較不好想的地方是啥呢? 就是這個圖片的路徑,src=啥的問題, 我們可以怎麼做呢? 可以直接通過這個往src中寫入後端的生成imge的Controller的路徑, 每次刷新頁面,它就會往這個路徑中發起請求, Controller中去生成一個image, 通過HttpServletResponse的獲取到輸出流, 將生成的圖片用流的發送會瀏覽器,再加上他是img標籤,這不就ok了?

百度一下如何生成圖片驗證碼一類的技術,確實真的很多,我就不貼代碼了, 感興趣的同學自行百度,代碼一片片的

  • 如何實現點擊圖片完成刷新操作呢?

因為這種圖片是靜態資源,如果你不禁用緩存,這個圖片就會被緩存下來, 要想每次點擊圖片都實現更換驗證碼的話,參考下面的js實現, 添加時間戳

   function refreshImageCode() {
        $("#verifyCodeImg").attr("src","/path/verifyCode?goodsId="+$("#goodsId").val()+"&timestamp="+new Date());
    }

接口限流技術

  • 什麼是接口限流?

舉個例子: 如說我們想限制在一分鐘內單個用戶訪問 A Controller中的a方法的次數不能超過30次, 這其實就是一種接口限流的需求, 可以有效的防止用戶的惡意訪問

  • 如何實現接口限流呢?

其實這件事結合緩存來實現並非是一件難事,比如我就用上面的例子: 不是想對a方法進行限流嗎? 我們就在a方法中添加下面的邏輯

偽代碼如下:

public void a(User user){
    // 校驗user合法性
    // 限流
   Integer count = redis.get(user.getId());
    if(count!=null&&count>15)
      return ; // 到達了指定的闋值,直接返回不允許繼續訪問
    if(count==null){
        redis.set(user.getId(),30,1); // 表示當前用戶訪問了1次, 當前key的有效時間為30s
    }else{
        redis.incr(user.getId());
    }
}
  • 如何不讓限流的邏輯侵染業務代碼呢

我們可以使用攔截器技術, 如果我們的重寫了攔截器的preHandler()方法,它就會在執行Controller中的方法前進行回調, 再配合自定義註解技術, 後面簡直就是為所以為…

示例:

@Component
public class AccessIntercepter extends HandlerInterceptorAdapter {
    // 在方法執行之前進行攔截
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if (handler instanceof HandlerMethod){
            HandlerMethod hd = (HandlerMethod) handler;
            LimitAccess methodAnnotation = hd.getMethodAnnotation(LimitAccess.class);
            if (methodAnnotation==null)
                return true;

            // 解析註解
            int maxCount = methodAnnotation.maxCount();
            boolean needLogin = methodAnnotation.needLogin();
            int second = methodAnnotation.second();
            // todo
        }
        return true;
    }
}

結語: 最近又到考試周了,今個周六,下周三考試運籌學… 希望自己能平安度過…

我是bloger 賜我白日夢, 歡迎點贊支持

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

南投搬家前需注意的眉眉角角,別等搬了再說!

分類
發燒車訊

世界經濟論壇下週展開 聚焦永續性 童貝里籲終結化石燃料

環境資訊中心外電;姜唯 翻譯;林大利 審校;稿源:ENS

2020年第50屆世界經濟論壇年會將在1月21日於瑞士達沃斯展開,主題是「團結打造永續世界」(Stakeholders for a Cohesive and Sustainable World),呼籲企業提升氣候行動的積極度。會議為期四天,吸引來自世界各地的3,000多名與會者。

今年的會議將有多位年輕的氣候行動者參與,包括17歲的瑞典環保少女童貝里(Greta Thunberg),盼說服世界各國領導人終結化石燃料經濟。

2020年第50屆世界經濟論壇年會將在1月21日於瑞士達沃斯展開。照片來源: (CC BY-SA 2.0)

童貝里等多名行動者1月10日在《衛報》發表評論:「我們要求在今年的論壇上,所有公司、銀行、機構和政府代表立刻停止所有對化石燃料探勘和開採的投資,立刻終止所有化石燃料補貼,並立刻徹底撤資化石燃料,」

「我們要的不是2050年、2030年或是2021年前完成,我們要立刻做,現在馬上做。」

根據2019年熱帶雨林行動網(Rainforest Action Network)、銀行追蹤(BankTrack)、原民環境網絡(Indigenous Environmental Network)、國際石油改革聯盟(Oil Change International)、美國山嶽協會(Sierra Club)和地球榮譽組織(Honor the Earth)共同發表,獲全球160多個組織背書的「」報告,自2015年簽署巴黎氣候協定至今,33家主要跨國銀行總共投資了1.9兆美元於化石燃料,而且過去兩年間,每年的融資額都在增加,其中6000億美元流向了100家最積極擴張的化石燃料公司。

報告顯示,全球主要銀行的商業慣例與政府間氣候變遷專門委員會(IPCC)2018年的全球暖化特別報告形成強烈對比。IPCC的《》描繪出急速淘汰化石燃料的急迫性,並估計到2035年,全球每年對乾淨能源的投資需求為2.4兆美元。

根據國際貨幣基金組織(IMF)的資料,光是在2017年,全世界就花了5.2兆美元在補貼化石燃料,包括煤炭、石油和天然氣。

美國明尼蘇達州的礦業工廠排放有毒氣體。圖片來源:Tony Webster(CC BY 2.0)

世界經濟論壇的主辦單位清楚收到環境行動人士的訊息,並且連續第四年讓會議保持氣候中立。

論壇發言人艾爾奇(Aylin Elci)說:「我們竭盡所能減少排放,從材料和資源的使用著手,提供更多當地、當季和植物性飲食;運輸方面,該論壇的汽車和巴士車隊今年有90%為油電或電動車。」

論壇發言人坎恩(Oliver Cann)表示,論壇無法減去的溫室氣體排放,主辦單位透過投資負碳排計畫來抵消。

自2017年起,世界經濟論壇持續計算年會相關碳排,透過資助全球經過認證的排放抵銷計畫來抵消,包括工作人員和與會者搭機的產生的碳排。坎恩說,除了減少碳排放之外,這些措施還創造了就業機會,改善了生活條件。

為了抵​​消2020年年會的碳排,論壇決定繼續資助兩個關鍵計畫。一是亞馬遜森林砍伐弧線上的「Jacundá」計畫,保護95,000公頃的原始森林並永續生產橡膠、阿薩伊果和巴西堅果。該計畫由社區主導,並在特種巴西保護區中執行,傳統社區在其中有管理資源的權利。

巴西亞馬遜的「Jacundá」原始森林。圖片來源:

第二個計畫是「綠色農場生物燃氣」,利用沼氣池處理產生的甲烷作為能源,殘留物則成為瑞士當地農場的肥料。

此外,論壇還跟瑞士氣候解決方案供應商「南極」公司合作,資助世界各地多個與堆肥、乾淨爐灶、水力和風力發電相關的碳排抵銷計畫:

印度「新德里堆肥」計畫每年將德里水果和蔬菜市場的73,000噸固體廢棄物轉成堆肥。

柬埔寨國家厭氧消化計畫將18,000座農場的廢棄物轉為肥料,也取代了生質爐,自2006年起省下150,000噸的木材。

在馬利,撒哈拉沙漠覆蓋了一半以上的國土。Katene乾淨爐灶計畫在當地的爐具製造工廠創造了400個工作機會,並種植了2400平方公尺的樹木對抗沙漠化。

中國四川省麻咪澤自然保護區中,當地社區砍柴生火煮飯的需求威脅周圍的生物多樣性和大熊貓的棲息地。世界自然基金會的節柴灶推廣計畫正在努力解決這個問題。

永續的水力發電是最有效的發電方式,但建築成本是發展的一大阻礙。 在巴西,Incomex Hydro計畫已經建了三座水力發電廠,生產乾淨能源,每年減少超過83,000噸的二氧化碳,可供應14,000戶住宅電力。

減少排放仍然是世界經濟論壇2020年年會永續發展工作的重點,是其組織永續發展戰略的一部分,目的是透過抵消無法避免的排放,促進瑞士海內外的永續發展。

在2020年年會召開之前,原民環境網執行總監高圖斯(Tom Goldtooth)提醒仍在投資化石燃料的銀行:「這些銀行所投資的未來,將損害未來七代以上子子孫孫的福祉。」

World Economic Forum 2020 Aims for Sustainability DAVOS-KLOSTERS, Switzerland, January 12, 2020 (ENS)

This year’s annual meeting of the World Economic Forum will call on corporations to raise their ambitions for climate action under the theme Stakeholders for a Cohesive and Sustainable World. The meeting’s 50th edition, opening January 21 and running for four days in Davos-Klosters, will bring together over 3,000 participants from throughout the world.

Young climate activists, including Swedish climate activist Greta Thunberg, 17, will be attending the World Economic Forum this year in an effort to convince world leaders to end the fossil fuel economy.

“We demand that at this year’s Forum, participants from all companies, banks, institutions and governments immediately halt all investments in fossil fuel exploration and extraction, immediately end all fossil fuel subsidies and immediately and completely divest from fossil fuels,” wrote Thunberg and other young climate activists in an opinion piece in “The Guardian” newspaper on January 10.

“We don’t want these things done by 2050, 2030 or even 2021, we want this done now – as in right now,” they wrote.

Since the 2015 Paris Agreement on climate, 33 major global banks have collectively poured US$1.9 trillion into fossil fuels, according to a March 2019 report, “Banking on Climate Change” by six nonprofit organizations and endorsed by over 160 organizations around the world.

Released by Rainforest Action Network, BankTrack, Indigenous Environmental Network, Oil Change International, Sierra Club, and Honor the Earth, the report reveals that 33 global banks have provided US$1.9 trillion to fossil fuel companies since the adoption of the Paris climate accord at the end of 2015. The amount of financing has risen in each of the past two years.

Of this total, $600 billion went to 100 companies that are most aggressively expanding fossil fuels. The report shows that the business practices of the world’s major banks stand in contrast to a 2018 special report on global warming by the Intergovernmental Panel on Climate Change (IPCC). That report, “Global Warming of 1.5 °C,” outlined the critical need for a rapid phase-out of fossil fuels and estimated that the world’s clean energy investment needs are $2.4 trillion per year up to 2035.

In 2017 alone, the world spent $5.2 trillion subsidizing fossil fuels – coal, oil and gas – according to the International Monetary Fund.

The organizers of the World Economic Forum have already got the message. For the fourth year in a row, the annual meeting will be climate neutral.

“We do everything we can to reduce emissions in the first place,” said Forum spokeswoman Aylin Elci. This involves looking at the use of materials and resources, the food served – more local, seasonal and plant-based than ever before – and transportation. The Forum’s fleet of cars and buses is 90 percent hybrid or electric this year.

All greenhouse gas emissions that the Forum cannot eliminate, organizers offset by investing in plans that reduce emissions levels in the atmosphere, says Forum spokesman Oliver Cann.

The Forum has been calculating and offsetting all emissions connected with the annual meeting, including staff and participant air travel, by funding certified offsetting projects around the world since 2017. Beyond carbon emission reduction, these initiatives also create jobs and improved living conditions, says Cann.

To offset the 2020 Annual Meeting, the Forum has decided to continue supporting two key projects. The Jacundá project in the Amazonian Arc of Deforestation known for its disappearing tropical forest protects an area of 95,000 hectares of native forest and sustainably produced rubber, açai and brazil nuts. The project is community-led and implemented on a specific Brazilian category of protected areas in which traditional communities own the right to manage the resources.

The second project is Biogas for Greener Farms, which uses methane generated by the processing of manure in biogas digesters as energy and the residue as fertilizer for local farms in Switzerland.

Cann details other offsetting projects supported by the Forum in collaboration with South Pole, a provider of global climate solutions headquartered in Zurich, Switzerland with 17 offices around the world.

Waste Composters

Composting New Dehli ensures that solid waste from fruit and vegetable markets in Delhi, India, does not end up in landfills and transforms 73,000 tonnes of it into compost every year.

In Cambodia, the National Biodigester program not only treats waste then used as fertilizer by over 18,000 farms but also replaces biomass stoves, saving 150,000 tonnes of wood since 2006.

Clean Cookstoves

In Mali, Katene Clean Cookstoves created 400 jobs in a local stove manufacturing factory and planted 2,400m2 of trees to counter desertification in a country that is more than half covered by the Sahara Desert.

Communities gathering firewood in China’s Mamize Nature Reserve in Sichuan province threaten the surrounding biodiversity and the habitat of giant pandas, an issue the WWF Mamize Firewood-Saving Cook Stove Project has been working to address.

Clean Energy – Hydro and Wind Power

Sustainable hydro plants are the most efficient way to generate electricity, but their cost can be a barrier to construction. In Brazil, Incomex Hydro has set up three hydro plants, which produce clean energy and reduce over 83,000 tonnes of CO2 a year – the equivalent of electricity for 14,000 houses.

Reducing emissions remains the first priority of the World Economic Forum’s sustainability efforts for the Annual Meeting 2020, which forms part of its broader institutional sustainability strategy.

The aim is to use offsetting to neutralize the emissions that cannot be avoided, in a way that fosters sustainable development in Switzerland and abroad.

In advance of the 2020 annual meeting, Tom Goldtooth, executive director of the Indigenous Environmental Network, has a message for banks that are funding fossil fuel development. “These banks are funding a future that will cost the well-being of the next seven generations of life and beyond.”

※ 全文及圖片詳見:

作者

如果有一件事是重要的,如果能為孩子實現一個願望,那就是人類與大自然和諧共存。

於特有生物研究保育中心服務,小鳥和棲地是主要的研究對象。是龜毛的讀者,認為龜毛是探索世界的美德。

延伸閱讀

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家費用,距離,噸數怎麼算?達人教你簡易估價知識!

分類
發燒車訊

美國環團告川普政府 不滿未考量台塑建廠風險

摘錄自2020年1月16日中央社報導

美國環保團體及社區組織今(15日)控告川普政府,抗議發放環境許可讓台灣塑膠公司在南部路易斯安那州建造塑膠廠區;根據計畫,這項建案規模達94億美元(約新台幣2837億元)。

美聯社報導,這起向華盛頓聯邦法院提起的訴訟指控美國陸軍工兵署(US Army Corps of Engineers)未公開這項建廠計畫對環境造成的傷害及對公眾的健康風險,也未適當考量台灣塑膠公司給環境帶來的損害。

位於紐奧良的環保團體「健康灣」(Healthy Gulf)是原告團體之一,執行主任沙爾托(Cyn Sarthou)在新聞稿中表示:「陸軍工兵署正加速發放許可給台塑,這家公司2019年因傾倒數十億顆塑膠粒到德州水道及墨西哥灣沿岸水域而被認定有罪,這完全令人無法接受。」

根據訴訟文書,「健康灣」及其他團體成員擔心破壞濕地會傷害野生生物,讓鄰近地區面對洪澇更加脆弱;也擔心有毒排放物有害健康和環境,和貨車和駁船往來頻繁,會增加噪音、汙染及危險發生的機率。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

南投搬家前需注意的眉眉角角,別等搬了再說!

分類
發燒車訊

區塊鏈和分佈式数字賬本正火?如何在7天內快速掌握這些必備的知識

前言

讀研期間,幾次被問到:“什麼是區塊鏈?”“我怎麼學習區塊鏈”。甚至跟“上至九十九”(爺爺奶奶),“下至剛會走的”(小學生的弟弟妹妹)解釋過我的研究內容。因此想總結一份7天的學習計劃(大量資料警告),讓那些對區塊鏈感興趣的人快速入門。區塊鏈技術的被運用到各行各業,尤其是各界(商界和政府)都對區塊鏈技術創新高度重視。本文總結了諸多入門區塊鏈的主要資源,博客、書籍和視頻,希望幫你用7天時間獲取必要的區塊鏈基礎知識。

作者宇宙之一粟,轉載請先聲明出處
公眾號宇宙之一粟,關注公眾號獲取更多相關資源

介紹

區塊鏈,剛開始聽起來會很新穎,因為是一個英文組合詞彙( Block + Chain )。區塊:存放數據的載體(想象成箱子),鏈:把這些箱子首尾相連(類似數據結構中的單鏈表)。

區塊鏈的本質:一個去中心化的分佈式賬本數據庫。其本身是一串使用密碼學相關聯所產生的數據塊,每一個數據塊中包含了多次比特幣網絡交易有效確認的信息。

區塊鏈技術從比特幣中發展而來,是比特幣的底層技術,和比特幣是相伴相生的關係。目前這項技術已經不僅僅限於比特幣——青出於藍而勝於藍。各行各業開始利用這項技術尋求突破。

2019年6月,Facebook宣布了其加密貨幣項目——。

我們國家央行也將發行自己的数字貨幣——( Digital Currency Electronic Payment ),也採用了區塊鏈技術,目前仍處於研究測試過程中。

2019年10月24日下午,。一時間區塊鏈技術又衝上了風口。

因此,我們有必要對區塊鏈技術做一個基本的了解。

如何獲得知識

如果想快速學習區塊鏈知識:收聽音頻課,閱讀書籍,看論文或在線文章,學習白皮書以及參与區塊鏈的相關學習計劃或在線課程。其他針對想從事更加專業的學習人員——參加編程或智能合約編碼課程。

應該學習到什麼程度

在區塊鏈領域工作或打算工作的每個人至少應該能夠理解並編寫一個非常簡單的智能合約,例如以程序語言Solidity通過幾行代碼實現的託管過程。儘管其他人會說,在學習區塊鏈和DLT時應該把重點放在另一個方面,但在我們看來,這是一條清晰的聲明。

在我們看來,理解簡單的智能合約(例如5-10行代碼)的需求不僅對於信息系統領域的員工很重要,而且在商業,經濟和法律領域也很重要。但是,關於如何配置節點的更深入的技術知識通常不是緊要的,但以後可以獲取。

任何尋求參与區塊鏈技術並考慮以下步驟的人都可能擁有光榮的職業生涯。我們認為,區塊鏈技術及其日益重要的潛力有可能對感興趣的人的職業道路產生积極影響,因為在這個動態且快速增長的細分市場中,未來幾年甚至數十年內還有很多工作要做。這樣,可以將由於数字化和自動化程度提高而失業(例如在金融部門)的風險降到最低。

但是感興趣的人如何獲得足夠的知識呢?存在哪些研究區塊鏈技術的機會?本文總結了區塊鏈教育的一些不同策略。我們基本上設計了一個特定的程序,以在大約7個工作日內實現“區塊鏈入門”。

一、購買或轉讓加密貨幣

所需時間:0.5天

除了獲得一些理論知識之外,理解此技術非常重要的是您在操作上“弄髒手”。 它的工作方式如下,為感興趣的人提供有關什麼是區塊鏈技術的最重要學習。

因此,開始的最佳練習是:購買加密貨幣(例如比特幣)並在全球範圍內進行轉移。 如下所示,請找到分步指南:

  • 在例如或比特派上開設一個帳戶;其他選擇:Bitstamp,Bitrex,Binance。
  • 購買比特幣或者購買以太幣。請注意,萬一使用公鑰或私鑰出錯,這筆錢將不可避免地丟失。因此,遵循此步驟當然是每個人自己的決定。
  • 開設第二個帳戶(上面的示例)。
  • 從第二個帳戶獲取一個錢包地址,該地址類似於以太坊的0xd42899dcC146d4788649e6aa5B09f129fC269127。
  • 第一步,將您購買的一部分以太幣或比特幣轉移到該地址。請注意,以太幣和比特幣的地址不同,因此請謹慎行事,切勿混淆。
  • 現在,您可以看到可以在幾秒鐘(以太)或幾分鐘(比特幣)內將價值發送到世界各地。
  • 一個更高級的步驟,但對理解區塊鏈非常有幫助:將插件添加到Google Chrome互聯網瀏覽器中,以直接訪問以太坊網絡並將您的以太幣存儲在您自己的錢包中。之後,開設一個帳戶並生成您自己的錢包地址。然後,將您的一些以太幣從之前的步驟轉移到這個新生成的錢包中。

二、音頻課

所需時間:1.5天

如果你喜歡聽音頻課,選擇一個合適的音頻可以快速入門:

  • Kryptoshow: Julian Hosp博士很好地介紹了區塊鏈技術和加密貨幣這一主題。播客還涵蓋了高級方面,例如在密碼學和編程方面。在訪問播客。
  • BTC Echo:此播客面向更高級的受眾,重點關注比特幣和加密資產。在訪問播客。
  • 從0到1全面學透區塊鏈音頻教程,在學習

三、閱讀重要的白皮書

所需時間:1天

為了了解區塊鏈技術的起源和概念,有必要研究兩種最重要的加密貨幣比特幣和以太坊的白皮書。其他補充Filecoin白皮書。

最重要的論文:

  • 比特幣白皮書:中本聰(2008):比特幣:點對點电子現金系統,。
  • 以太坊白皮書:Buterin,V.(2013):以太坊白皮書:下一代智能合約和去中心化應用平台, 。
  • Filecoin白皮書: Protocol Labs(2017):Filecoin: A Decentralized Storage Network,
    (待完善)

四、觀看視頻

所需時間:2天

在通過閱讀有關比特幣和以太坊的原始著作從“科學”角度看待區塊鏈技術之後,您可以使用視頻進一步熟悉該技術並更深入地了解該技術的不同組成部分。我們推薦以下視頻:

最重要的視頻:

五、更多文章和網站

所需時間:1天

通過遵循建議的步驟,您現在應該已經對技術有了基本的高級知識。現在,是時候更深入地研究區塊鏈技術了。我們建議閱讀以下文章:

文章或文檔:

需要了解的項目的網站:

  • 以太坊:
  • EOS:
  • NULS:
  • FISCO BCOS:

六、更廣泛概述的書籍

所需時間:2天閱讀

其他書籍:

  • 中文版(第2版)
  • Andreas M. Antonopoulos / Gavin Wood(2018年):

Ps: 關注公眾號 宇宙之一粟 回復關鍵字 “區塊鏈” 獲取电子版

七、認識志同道合之人

所需時間:參加2次聚會(主要是免費)

下一步,我們建議您進入區塊鏈社區,並與區塊鏈專家進行首次討論。

科學論文

所需時間:0天,因為這是可選的

如果您打算從科學的角度更多地探討區塊鏈的話題,那麼就有可能研究有關區塊鏈技術的論文。我們將進一步擴大此列表。

文件:

  • Eyal I , Gencer A E , Sirer E G , et al.
  • Gilad, Yossi & Hemo, Rotem & Micali, Silvio & Vlachos, Georgios & Zeldovich, Nickolai. (2017).
  • Li C , Li P , Zhou D , et al.
  • Yin M , Malkhi D , Reiter M K , et al.
  • Wang, Jiaping & Wang, Hao. (2019).
  • 更多區塊鏈相關論文

現在?

重要的是“閱讀”有關區塊鏈和DLT中的教育如何工作的信息。歸根結底,只有一件重要的事情:那就去做。不要只是想,而要行動。

歡迎評論給我,無論您是否遵循我的建議–並向我提供反饋。如果您還有其他想法,請告訴我們如何學習和使用區塊鏈。如果您使用其他來源來獲取或增加您的區塊鏈知識,那麼如果您能與我分享這些知識,我將非常感激。

備註

在Medium看到Education in Blockchain and DLT: How to Acquire the Necessary Knowledge with a Workload of 10 Working Days的一篇博客,但是有很多網站和學習資料使我們不能訪問的。基於此博客,製作了方便我們快速學習並掌握區塊鏈必備知識的這篇文章。

如果您喜歡本文,將其轉發或分享(附上原文出處),我將非常高興並表示感謝。
也歡迎關注我的微信公眾號:宇宙之一粟,分享更多資料,與你讀書學習精進。

參考博客: Authors: Philipp Sandner, Jonas Groß

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家費用,距離,噸數怎麼算?達人教你簡易估價知識!

分類
發燒車訊

痞子衡嵌入式:串行EEPROM接口事實標準及SPI EEPROM簡介

  大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是EEPROM接口標準及SPI EEPROM

  痞子衡之前寫過一篇文章 ,介紹過并行NOR Flash基本概念。眾所周知,現如今嵌入式非易失性存儲器基本被NOR Flash一統江湖了,但在Flash技術發明之前,EEPROM才是非易失性存儲器的霸主。EEPROM的全稱是”電可擦除可編程只讀存儲器”,即Electrically Erasable Programmable Read-Only Memory,EEPROM技術的發明可是拯救過一大批嵌入式工程師的,畢竟在這之前非易失性存儲器技術的演進分別是ROM(只讀), PROM(只能寫一次), EPROM(紫外線可擦除),擦除方式都不太友好,直到EEPROM的出現才變得人性化。雖說現在Flash是主流,但在較低容量(2Mb以下)尤其是超低容量(1Kb以下)的市場,EEPROM仍然有其不可替代的應用場合。今天痞子衡就來好好聊一聊EEPROM:

一、EEPROM背景簡介

  聊到EEPROM發展史,不得不提浮柵MOSFET,這是一項發明於1967年的技術,它是所有閃存的基礎。1970年,第一款成功的浮柵型器件-EPROM被發明。1979年,大名鼎鼎的SanDisk(閃迪)創始人Eli Harari,發明了世界上首個電可擦除的浮柵型器件即EEPROM。
  講到EEPROM必然要將它和與其相愛相殺的Flash一起對比。關於Flash大家都很熟悉,但其實Flash全稱應該叫Flash EEPROM,它屬於廣義的EEPROM。而本文主角EEPROM,指的是狹義的EEPROM,Flash和EEPROM最大的區別是:Flash按扇區操作,EEPROM按字節操作。Flash的特點是結構簡單,容量可以做得比較大且在大數據量下的操作速度更快,但缺點是操作過程麻煩,所以Flash適於當不需頻繁改寫的程序存儲器。而在有些應用中往往需要頻繁的改寫某些小量數據且需掉電非易失,傳統結構的EEPROM則非常適合。
  EEPROM不像NOR, NAND Flash技術演進得那麼複雜,因此實際上關於EEPROM並沒有成文的標準,即使最知名的电子行業標準之一JEDEC也沒有關於EEPROM的標準出台,不過各大廠商生產的EEPROM似乎都遵從某種約定的事實標準,這在後面介紹的EEPROM接口命令里顯得尤為明顯。

二、Serial EEPROM原理

2.1 Serial EEPROM分類

  從軟件驅動開發角度而言,Serial EEPROM可以從以下幾個方面進一步細分:

地址碼長度:1byte / 2byte / 3byte
通信接口類型:I2C / SPI / Microwire / UNIO Bus / Single-Wire

  本文的主要研究對象是SPI接口的EEPROM。

2.2 SPI EEPROM內存模型

  EEPROM內存單元從大到小一般分為如下4層:Device、Sector、Page、Byte,其中Sector不是必有的,並且Page也只是個結構概念,跟NOR Flash里的Page/Sector意義不一樣,因為Byte就是EEPROM讀寫的最小單元(即可以任意地址隨機訪問),所以你可以把EEPROM當做一個非易失性的RAM。當然有些高端EEPROM中集成了Page/Sector操作命令,這隻是為了讓EEPROM操作效率更高而已。

2.3 SPI EEPROM信號與封裝

  SPI EEPROM一般有8個腳,除去電源Vcc,地GND/Vss,以及SPI四根信號線(CS#, SCK, SI, SO)不言而喻之外,還有兩根特殊的控制信號,即WP#(寫保護)和HOLD#(掛起)。WP#信號主要是從硬件層面上對EEPROM內存進行保護,防止電路上的噪聲干擾篡改了EEPROM里的內容;而HOLD#則提供EEPROM寫操作暫停的功能,當該信號有效的時候,SI信號輸入將被忽略,因此主機可以做其他更高優先級的事情。

  SPI EEPROM雖然只有8pin,但是封裝種類還是比較齊全的,這其中最經典的當屬JEDEC定義的8-lead SOIC,此外還有TSSOP8, UDFN8, WLCSP8,下圖羅列了常見封裝:

2.4 SPI EEPROM接口命令

2.4.1 事實標準

  痞子衡在文章開頭的時候講過,SPI EEPROM並沒有什麼成文的接口命令標準,但是各大廠商生產的SPI EEPROM無一例外都支持下錶的6條命令,即READ(讀內存)、WRITE(寫內存)、WREN(寫使能)、WRDI(寫禁止)、RDSR(讀狀態寄存器)、WRSR(寫狀態寄存器),所以從軟件接口層面而言,這6條命令就是SPI EEPROM事實上的接口命令標準。

  除了6條標準命令外,SPI EEPROM內部還有一個8bit的狀態寄存器,用於反饋命令執行狀態,這8bit狀態寄存器的位定義也是存在如下錶所示的事實標準的:

  不考慮寫保護特性的話,bit0 – RDY#和bit1 – WEL是比較常用的,RDY#位主要用於標示所有涉及改變內存或狀態寄存器的命令的執行結果,WEL位則保存了上一次WREN和WRDI命令的執行結果。狀態寄存器中的其他兩處定義bit7 – WPEN, bit[3:2] – BP[1:0]則主要與寫保護特性有關,它們的具體作用如下:

2.4.2 廠商個性化

  除了6條事實標準的命令外,有些廠商還實現了一些自定義的命令,這些命令並不一定通用,一般用於較大容量(3byte地址碼,512Kb以上)的EEPROM上。痞子衡找了一款非常經典的EEPROM,來自Microchip的25AA系列(25AA1024),讓我們看看它有啥個性化的命令。這顆EEPROM容量為1Mb,屬於大容量EEPROM,為了提高EEPROM操作效率,Microchip為這顆EEPROM增加了Page/Sector/Chip Erase命令,使得擦除操作效率變高了,如果沒有這些個性化擦除命令,那麼只能通過標準WRITE命令去手動實現擦除操作,既麻煩又低效。

2.5 SPI EEPROM數據速率

  數據存取速率是個重要的技術指標,咱們來看看SPI EEPROM的讀寫時序,前面痞子衡在講EEPROM分類的時候提到過EEPROM地址碼有1byte/2byte/3byte之分,地址碼的區別主要體現了EEPROM讀寫時序上。對於讀時序,在SPI總線發完READ(0x03)命令后,緊接着要發送想要讀取的內存地址,地址碼不同,發送的地址字節數也不同。對於容量大於512Kb的EEPROM(即地址碼為3byte),顯然要發送3byte的地址,才能確定要讀的數據所在地址,然後才能進行讀數據操作。

  而對於容量小於等於512Kb的EEPROM,關於1byte和2byte地址碼區分,有一個特殊的設計,即對於512byte容量的EEPROM,按容量來說其屬於2byte地址碼範疇,READ命令后需要發送2byte地址,但實際上只需要發送1byte地址(A7-A0),而最高地址位A8放在了READ命令碼bit3里,這樣可以節省1個字節的地址碼。因此1Kb – 512Kb容量的EEPROM地址碼為2byte,512byte及以下容量的EEPROM地址碼為1byte,如下圖所示:

  從上面讀時序可以看出,READ命令碼和地址碼發完之後幾乎沒有等待周期,就可以直接讀取EEPROM中數據,因此EEPROM讀數據速率完全取決於SPI總線速率,所以我們只需要打開EEPROM數據手冊,看看它最高能支持多高的SPI總線速率即可(常見的有2MHz/5MHz/10MHz/20MHz)。
  對於寫時序,就稍微複雜一些了,這裏不考慮地址碼區別,以2byte地址為例。首先在發送WRITE命令之前需要發送一個WREN命令使能寫操作,因為默認EEPROM在執行完上一次寫操作後會恢複寫禁止狀態,在發送WRITE命令進行寫操作之前必須保證EEPROM處於寫使能狀態。

  確保EEPROM進入寫使能狀態后,開始發送WRITE命令,然後是地址碼,接着是要寫入的數據,痞子衡前面講過Page在EEPROM是個結構概念,但其實也跟WRITE命令有關,因為EEPROM既可以按byte去寫,也可以按Page去寫,如果需要存入連續的數據,顯然按Page去寫效率比按Byte寫入更高。這裏需要注意的是,WRITE命令後面跟的字節數不能超過要寫入的首地址所在Page剩餘的字節數。下圖示例的Page寫時序最大byte數為16/32,是因為示例EEPROM的page size即16/32 byte。

  當一次WRITE時序內要寫入的數據全部發送完成之後,底下便進入等待周期,與READ時序不同的是,WRITE時序有等待周期,因為EEPROM內部要將緩存在page buffer里的數據編程到真正的內存空間里,這需要時間。用戶只能通過不斷地發送如下RDSR命令去讀取狀態寄存器bit0 – RDY#來判斷WRITE等待周期是否結束。因此寫時序速率不僅僅取決於SPI總線速率,還取決於等待周期時長。

  如果想快捷地了解SPI EEPROM的性能,最簡單的就是打開SPI EEPROM手冊,看首頁的feature介紹,如下是25AA080的簡要feature:

• Max. Clock 10 MHz
• 1024 x 8-bit Organization
• 16 Byte Page (‘C’ version devices)
• 32 Byte Page (‘D’ version devices)
• Self-Timed Erase and Write Cycles (5 ms max.)
• Block Write Protection:
  - Protect none, 1/4, 1/2 or all of array
• Built-In Write Protection:
  - Power-on/off data protection circuitry
  - Write enable latch
  - Write-protect pin
• Sequential Read
• High Reliability:
  - Endurance: > 1M erase/write cycles
  - Data retention: > 200 years

三、SPI EEPROM產品

  最後痞子衡收集了可以售賣SPI EEPROM芯片的廠商及產品系列:

廠商 芯片系列 官方網址
Microchip
Atmel
25AA, 25LC
AT25
ST M95
Onsemi CAT25
Renesas R1EX25
Rohm BR25A, BR25G, BR25H, BR25S
Fudan Micro FM25

  至此,EEPROM接口標準及SPI EEPROM痞子衡便介紹完畢了,掌聲在哪裡~~~

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

南投搬家前需注意的眉眉角角,別等搬了再說!