分類
發燒車訊

自來水源遭廢油污染 河內數十萬戶受影響

摘錄自2019年10月16日中央社報導

河內市若干區域民眾10日起發現自來水有異味,主管單位獲報後取樣送驗,相關單位隨後查出自來水水源上游小溪被歹徒偷倒廢油,使水質受污染。目擊者說,8日看到一輛貨車在小溪偷倒廢油,當地翌日下大雨,大量廢油流出大河,再往下游流去。

河內市政府15日公布自來水檢驗結果,水中苯乙烯(Styrene)含量超標1.3倍至3.65倍,是水源廢油污染所致,勸告民眾停止飲用遭污染自來水,指示相關單位安排水罐車免費供水給受影響社區民眾。

事件影響當地數十萬戶居民,由於自來水供應商和主管單位對此事處理進度緩慢,引起民眾激烈反應。

 

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

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

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

※教你寫出一流的銷售文案?

※超省錢租車方案

分類
發燒車訊

Tesla 買氣縮為烏龍一場 實為 9 月全球銷售創新高

昨(28 日)外媒傳出美國電動車大廠特斯拉(Tesla)9 月銷售銳減的消息,但執行長 Elon Musk 今(29 日)火速在 Twitter 上駁斥傳言,表示該則報導「不正確」。   華爾街日報 28 日引述專門追蹤汽車業消息的網站 WARDSAUTO 的說法,指出特斯拉今年 1  至 9 月 在美國的電動車銷售下滑 26%。但特斯拉從未發布每月銷售數字,而是每季進行公布,下次發布報告應是 11 月初。   Musk 在 Twitter 上說:「《華爾街日報》關於特斯拉銷售數字的報導不正確。特斯拉 9 月全球銷售創歷來新高,且北美銷售年增 65%。」Musk 還強調,特斯拉日前推出的新租車方案是基於與 U.S. Bank 的協議,不代表旗下電動車價格打折,且完全不影響特斯拉的營收。

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!

分類
發燒車訊

BMW 積極推動電動車,慕尼黑與首爾雙城並進

  說起電動車,除了特斯拉(Tesla)以外,寶馬(BMW)的 i3、i8 也是代表性車款,BMW 對推動電動車不遺餘力,由於電動車發展最大的關鍵在於充電站網路的建立,而這需要發展充電站技術,以及與各城市的政府政策合作,BMW 同時在自己的家鄉,德國慕尼黑,實驗新的技術,又在南韓的首爾,與首爾進行市政合作,以發展電動車。   在慕尼黑,BMW 推出的想法是充電路燈,讓街上的路燈,不僅裝有 LED 照明,還同時合併 BMW 的 ChargeNow 充電站,隨時沒電了,停在路邊從路燈桿上拉出充電線就能充電,那費用怎麼計算?有專用的智慧型手機 App 來計算費用並收費。  
 
 
(Source:)   目前 BMW 已經打造了 2 座這樣的充電路燈原型,其中 1 座就安裝在 BMW 慕尼黑總部前面,另一座則可能試裝在其他路燈上,測試使用效果。   在南韓,BMW 則和通用汽車(GM)、起亞(Kia),以及雷諾三星(Renault Samsung)一起與首爾市政府合作,首爾市政府推出電動車與充電站的補貼方案,只要首爾市民購買上述 4 家車廠所生產的電動車,首爾市就會補貼 2,000 萬韓圜,約 56.3 萬元新台幣。   除此之外,若企業與組織在停車場安裝充電站,首爾市政府將再額外補貼 700 萬韓圜,約 19.7 萬元新台幣。  
 

   
(Source:)   目前首爾只有 1,500 輛電動車,主因除了價格以外,也來自於充電站不足,BMW 計畫要在首爾設立 120 座充電站,而有了首爾市政府的大舉補貼,以 BMW i3 LUX 而言,在韓國原本售價為 5,750 萬韓圜,約 162 萬元新台幣,補貼 2,000 萬韓圜後,只剩 3,750 萬韓圜,約 105.5 萬元新台幣,可以想見,消費者的購買誘因將會大增。另一方面,BMW 設立充電站也將得到補貼,而若企業大樓停車場都有充電站,對通勤的開車族而言,電動車的便利性將大幅提升。   不過首爾還有一條法規上的障礙,規定電動車禁行最低速限 60 公里以上的高速道路,也就是說電動車上不了高速公路,這嚴重打擊韓國消費者購買電動車的意願,在這條與首爾發展電動車目標自相矛盾的法規修正以前,首爾的努力恐怕效果十分有限。     本文全文授權轉載自《科技新報》─

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!

分類
發燒車訊

宣揚減塑環保 印尼偶戲師回收寶特瓶製玩偶

摘錄自2019年10月29日民視新聞報導

印尼龍目島有一位玩偶大師,為了讓小朋友了解塑膠污染的可怕,因而回收塑膠寶特瓶再廢物利用,製做成演出的玩偶。

劇團的玩偶,從頭到腳,全是塑膠製品。團長拉提夫擔心印尼偶戲傳統失傳,2015年創辦了偶劇團。後來因感到塑膠製品危害無窮,2018年起開始回收塑膠垃圾,主要是寶特瓶,並廢物利用做成玩偶,希望讓小朋友學習從家裡開始管理垃圾,以及養成不亂丟垃圾的習慣。

劇團成員的年齡在7歲到16歲之間。大家先在自家附近撿拾寶特瓶,之後再分類、清洗。接著就發揮創意,將這些瓶子上色、製做耳鼻、手腳等。觀眾不分大人、小孩,都很認同劇團的用心。

劇團原本只在龍目島演出。由於名聲漸漸打開來,開始進軍首都雅加達,也希望能將環保愛地球的理念帶出去。

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!

分類
發燒車訊

2014中國高新汽車國際峰會圓滿閉幕,廣受業界好評

第三屆中國高新汽車國際峰會已於2014年12月9日在上海浦東嘉里大酒店完美落幕。本屆峰會由法蘭克福展覽(上海)有限公司和中國國家發展和改革委員會國際合作中心聯合主辦,共邀請到包括政府官員、行業協會代表和知名整車企業在內的14位重量級演講嘉賓出席,共同探討未來汽車產業革新的重要創新技術、市場趨勢和發展戰略方針。為期一整天的峰會由一個主論壇和兩個分論壇組成,共迎來386位與會代表,專業領域橫跨汽車全產業鏈。

法蘭克福展覽(上海)有限公司總經理李慶新先生表示:“由於整體定位和結構調整,峰會由往年的兩天精簡為一天時間,但是本屆峰會的參會代表人數仍再創新高。由此印證了中國高新汽車國際峰會作為汽車行業的年度盛會,為業內重要政策決策者、企業高管和投資者建立了交流契機和合作機會。與會代表對我們表達了支持和鼓勵,我們非常高興可以收到如此正面的肯定。我們相信中國高新汽車國際峰會將會成為討論汽車行業發展趨勢、最新技術以及業界精英交流討論的高端平台。”

參會代表和演講嘉賓滿意會議定位,共同關注汽車行業未來合作契機

本屆峰會以「關注未來汽車發展趨勢,聚焦零部件產業升級」為主題,共邀請到多位政府領導蒞臨並致辭。其中包括:

  • 鄭惠強先生,全國政協常委、上海市人大副主任
  • 李鋼先生,國家發改委產業協調司處長
  • 徐秉金先生,中歐協會會長、商務部原副部長

峰會由上海市新能源汽車推進辦公室主任劉建華先生擔任首位演講嘉賓,就「發起『新能源汽車走進社區』倡議」議題發表真知灼見。除此之外,強大演講嘉賓陣容包括來自寶馬、特斯拉、沃爾沃、上汽和北汽等國內外知名整車企業。首次擔任演講嘉賓的上海汽車集團股份有限公司汽車工程中心車身開發總監邱國華博士此次主要圍繞上汽集團電動汽車發展戰略展開介紹,並評價道:“中國高新汽車國際峰會是一個高端的汽車行業交流平台,議題定位準確。主題覆蓋整車、能源和材料等一系熱門話題。峰會聚集了汽車行業的技術戰略研究和市場分析等高端人才,我認為這是一個非常出色的活動。”

特斯拉中國區公共政策和充電基礎設施總監高翔先生同樣也分享了他的感想,並表示:“本屆峰會邀請了很多政府政策制定者,他們的政策導向對於未來電動車的發展影響很大。我認為電動汽車產業正得到大眾越來越多的關注。我希望通過中國高新汽車國際峰會這個深入的交流平台,在政策環境和行業環境得到突破,未來能夠制定完善的行業標準,希望有更多的車企投入到電動汽車的開發中。”

上海大眾汽車有限公司信息系統部高級經理邱振捷先生擔任”用互聯網思維造車”主題的演講嘉賓,關注電動汽車行業的前瞻性概念。他認為:“去年我是峰會的參會代表,而今年我非常榮幸可以擔任演講嘉賓出席本屆峰會。中國高新汽車國際峰會是一個齊聚行業精英的平台,活動的整體規劃和安排超出我的預期。在這裏我遇到了很多零部件企業和整車廠,我非常願意和他們互相交流經驗,這給我工作帶來很多幫助。”

已經連續第二年出席的三菱綜合材料管理(上海)有限公司戰略企劃部經理徐冬榮先生對峰會在新能源汽車未來發展前景產生積極作用表示肯定,說道:“演講嘉賓介紹了最新的電動汽車技術和資訊,通過本屆峰會我瞭解到很多高新汽車的最新行業發展趨勢和扶持政策。我認為新能源汽車的未來發展前景是非常巨大的,因此發展速度和技術瓶頸將是最需要關注的問題。”

首次參會的參會代表德國ThyssenKrupp System Engineering GmbH的業務發展專員Elena Kaplun女士希望通過中國高新汽車國際峰會洞察中國汽車行業的最新潛在投資機會,她表示道:“我對中國汽車市場有了深入的認識和瞭解。我對新能源汽車和輕量化汽車技術發展的話題很感興趣,嘉賓的演講內容對市場研究和業務發展戰略規劃很有幫助。除此之外,我還有機會在這裏拓展我的人脈,更可以和卓越的業界人士有進一步的合作機會如特斯拉、BMW和上汽等,我非常高興能夠參加此次活動!”

2014 年中國高新汽車國際峰會同期舉行的 Automechanika Shanghai — 上海國際汽車零配件、維修檢測診斷設備及服務用品展覽會,是亞洲規模最大的汽車零部件、維修檢測診斷設備及汽車用品展覽會。

欲瞭解更多有關峰會詳情,敬請訪問官方網站

或發郵件至。

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!

分類
發燒車訊

2020/6/11 JavaScript高級程序設計 DOM

DOM(文檔對象模型)是針對HTML和XML文檔的一個API(應用程序接口)。他描繪了一個層次化的節點樹,允許開發人員添加、移除和修改頁面的某一部分。

10.1 節點層次

DOM將任何HTML和XML文檔描繪成一個由多層節點構成的結構。

文檔節點(Document)是每個文檔的根節點。文檔節點只有一個子節點(HTML文檔中實終是<html>),我們稱之為文檔元素(每個文檔只能有一個文檔元素)。文檔元素是文檔的最外層元素,其他所有元素都包含在文檔元素中。

每一段標記都能通過樹中一個節點來表示,包括特性、文檔類型、註釋等,共有12種節點類型。這些類型都繼承自一個基類型

10.1.1 Node類型

 JavaScript中的所有節點類型都繼承自Node類型,所有的節點類型都共享相同的基本屬性和方法。

nodeType屬性:表明節點的類型(12種)

eg:Node.ELEMENT_NODE(1);  //元素節點

通過該屬性可以確定一個節點的類型,可以通過類型字面量判等,也可以通過数字值比較。

if (someNode.nodeType == Node.ELEMENT_NODE){  //在IE中無效
    alert("Node is element.");
}

if (someNode.nodeType == 1){  //適用於任何瀏覽器
    alert("Node is element.");
}

1. nodeName和nodeValue屬性

可以了解節點的具體信息。

對於元素節點,nodeName保存的始終是標籤名,nodeValue的值始終是null。

2. 節點關係

 

  • 屬性
1 childNodes屬性 保存NodeList對象(類數組,但不是數組),這個對象也有length屬性。可以通過方括號,也可以通過item()方法訪問節點。可以通過Array.prototype.slice()方法將其轉換為數組。
2 parentNode屬性 指向父節點。
3 previousSibling / nextSibling屬性 訪問同一列表中的其他屬性。即前一個和后一個同胞節點。
4 firstChild / lastChild屬性 指向childNodes列表的第一個和最後一個節點。
  • 方法
1 hasChildNodes() 檢驗是否存在子節點。存在時返回true。
2 ownerDocument() 指向整個文檔的文檔節點。方便直接到達頂端。

3. 操作節點

1 appendChild() 向childNodes列表的末尾添加一個節點。返回新的節點。由於任何一個節點不能同時出現在多個位置上,所以當傳入的節點是父節點的子節點時,這個節點會變成最後一個子節點。
2 insertBefore()

將節點插入到childNodes列表中一個特定的位置。接收兩個參數:要插入的節點和作為參照的節點。

插入節點后,被插入節點會成為參照節點的前一個同胞節點,同時被方法返回。省略參照節點時與appendChild()執行相同的操作。

3 replaceChild() 替換節點(複製所有的關係指針)。接收兩個參數:要插入的節點和要替換的節點。被替換的節點將從文檔樹中移除,但仍然在文檔中,只是沒有了自己的位置(指針)
4 removeChild() 移除節點。返回被移除的節點。同樣被移除的節點仍然在文檔中。

PS1:使用這幾個方法必須取得父節點(使用parentNode屬性)。

PS2:不是所有類型的節點都有子節點。在不支持子節點的節點上調用這些方法,會拋出錯誤。

4. 其他方法

1 cloneNode()

創建調用這個方法的節點的一個完全相同的副本。接受一個布爾值參數,表示是否執行深複製(true則執行深複製)。

  • 深複製:複製節點以及整個子節點樹
  • 淺複製:只複製節點本身

複製后返回的節點歸文檔所有,沒有為他指定父節點。要通過其他的方法把他加入到文檔中。

IE>9及其他瀏覽器會計入空白節點。

2 normalize()

處理文檔樹中的文本節點。

  • 出現文本節點不包含文本 => 刪除空白文本節點
  • 接連出現兩個文本節點 => 合併為一個文本節點

10.1.2 Document類型

Document類型表示文檔。

  • document對象是HTMLDocument的一個實例,表示整個HTML頁面。
  • document對象是window對象的一個屬性,可以作為全局對象來訪問。

Document節點的特徵:

  • nodeType的值為9;
  • nodeName的值是”#document”;
  • nodeValue和parentNode的值為null;
  • ownerDocument的值為null。

1. 文檔的子節點

1 DocumentType(最多一個) <!DOCTYPE>標籤,可以通過document.doctype屬性來訪問他的信息。
2 Element(最多一個)

文檔元素<html>。

通過documentElement屬性childNodes列表(在無處理指令的情況下是firstChild)訪問可快速找到html元素。

document.body屬性可以指向<body>元素(因為該元素使用頻率高,為了便於開發增添該屬性)。

3 ProcessingInstruction 表示處理指令。
4 Comment 註釋。

2. 文檔信息

作為HTMLDocument的實例,document對象還有一些特殊的屬性。

1 title <title>元素中的文本,是當前頁面的標題。
2 URL 完整的URL。
3 domain

頁面的域名。僅domain可以設置。但有一定的限制:

  • 不能設置為URL中不包含的域
  • 如果域名一開始是“鬆散的”(wrox.com),那麼就不能再將其設置回“緊繃的”(p2p.wrox.com)

作用:將每個頁面的document.domain設置為相同的值,就可以互相訪問對方包含的JavaScript對象了。(解決跨域問題)

4 referrer 鏈接到當前頁面的那個頁面的URL。在沒有來源頁面的情況下是空字符串。

3. 查找元素

1 getElementById() 參數為要取得元素的ID。找到返回該元素,沒有找到返回null。如果有多個id值相同,則只會返回第一個。
2 getElementByTagName() 參數為要取得元素的標籤名。返回元素的NodeList。在HTML文檔中,返回的是HTMLCollection對象。可以通過方括號或者item()方法來訪問。
3 nameItem() HTMLCollection對象的方法。通過元素的name屬性取得集合中的項(第一項)。同時HTMLCollection對象還支持按名稱訪問項。
4 getElementByName() 返回帶有給定name屬性的所有元素(一個HTMLCollection)。

4. DOM的一致性檢測

ducument.implementation屬性:提供關於實現了DOM 哪些部分的信息的對象。

 他有一個方法,hasFeature()。接收兩個參數:要檢測的DOM功能的名稱和版本號。如果支持給定名稱和版本的功能,則返回true。

檢驗結果true不意味着現實與規範一致,最好除了檢測hasFeature()之外,同時使用能力檢測

5. 文檔寫入

write() / writeln():接受一個字符串,即寫入輸出流中的文本。write()會原樣寫入,writeln()會在字符串末尾添加一個換行符(\n)。這兩個方法可以向頁面中動態的加入內容。

//在頁面加載過程中輸出當前的日期和時間
document.write("<strong>" + (new Date()).toString() + "</strong>");

同時還可以用來動態的包含外部資源,例如JavaScript文件等。

document.write("<script type=\"text/javascript\" src=\"file.js\"> + "<\/script>");

PS:由於不能直接包含字符串”</script>”(這樣會導致該字符串被解釋為腳本的結束,後面的代碼無法運行),所以要將這個字符串分開寫。

在頁面被呈現的過程中,會直接輸出內容。如果在文檔加載結束后(window.onload)再調用write(),那麼輸出的內容會重寫整個頁面。

方法open()close()分別用於打開和關閉網頁的輸出流。

10.1.3 Element類型

Element類型提供了對元素標籤名、子節點及特性的訪問。Element節點具有以下特徵:

  • nodeType值為1;
  • nodeName的值為元素的標籤名;
  • nodeValue的值為null;
  • parentNode可能是Document或Element;

tagName屬性:返回訪問元素的標籤名(與nodeName相同)。 => 在HTML中標籤名始終以全部大寫表示,需要檢驗標籤類型時最好調用toLowerCase()方法。

1. HTML元素

所有HTML元素都由HTMLElement類型表示。HTMLElement類型直接繼承自Element並添加了一些屬性。

  • id,元素在文檔中的唯一標識;
  • title,有關元素的附加說明信息,一般通過工具提示條显示出來;
  • dir,語言的方向(”ltr”,即left-to-right)或“rtl”;
  • className,與元素的class特性對應,為元素制定的CSS類。

2. 取得特性

 

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!

分類
發燒車訊

深圳今年投254億推新能源車 純電動客車補貼高達254萬

日前,深圳市政府推出了《深圳市新能源發展工作方案》和《深圳市新能源汽車推廣應用若干政策措施》,成為2015年以來中國第一個推出新能源汽車扶持政策的城市。深圳定下「2015年新增1.5萬輛新能源車」的目標,將統籌設立50億元人民幣(折合新台幣約254.25億元)的新能源汽車推廣應用扶持資金。   據《深圳市新能源汽車推廣應用若干政策措施》,深圳將對購買新能源汽車給予1:1配套地方補貼,且不逐年遞減。以純電動客車為例,每輛最高可補貼50萬元(折合新台幣約晝254.25萬元)(車身長度在10公尺以上),而純電動乘用車,標準工況續駛里程在250公里以上補貼則達到6萬元(折合新台幣約30.51萬)。   按照規定,對個人、企業購買使用新能源乘用車的補貼,主要用於機動車交通事故責任強制保險費、路橋費、充電費、自用充電設施及安裝費等方面,其中純電動乘用車最高補貼可達2萬元(折合新台幣約10.17萬元)(標準工況續駛里程在250公里以上)。   為鼓勵計程車運營企業購買使用純電動計程車,除了享受純電動乘用車購車和使用補貼外,對更新為純電動計程車的燃油計程車,另外給予推廣應用補貼5.58萬元(折合新台幣約28.37萬元)。計程車運營企業2015年到期更新為純電動計程車的,更新車輛數以同產權1:1比例置換,另給予置換數10%的純電動計程車指標獎勵。   在充電樁方面,截至目前,深圳累計建設快速充電站81座、慢速充電樁近3000個,但快速充電樁僅完成原計劃的三、四成,慢速充電樁只完成一成。而深圳市發改委明確表示,到2015年底前,深圳市將新增1800個快速充電樁。

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!

分類
發燒車訊

我家也有太陽能:預防鳥害是用戶責任 下了蛋就不能讓牠搬家

文:宋瑞文(加州能源特約撰述)

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!

分類
發燒車訊

蟬聯兩年!Tesla Models S 再登美國年度最佳汽車

美國消費者報告(Consumer Reports)的調查顯示,電動車製造商 Tesla 的 Model S 已連續 2 年榮登年度最佳汽車。   消費者報告是根據道路表現、可靠度和防撞測試結果來評比車輛,除了選出整體表現最佳的汽車外,也會按照車種來評比。Model S 今年之所以蟬聯年度最佳汽車,原因除了充滿電後能跑 426 公里外,能夠透過網路升級軟體、及 Tesla 已克服初期面臨的技術問題,也是這輛車獲得青睞的原因。   在消費者報告劃分的十大分類中,只有 6 類是由日本車贏得最佳汽車頭銜,為消費者報告 19 年前開始評比以來最少,贏得最佳汽車頭銜的美國汽車品牌則有 3 個。除了 Tesla,另外 2 個品牌是 Buick 及雪佛蘭(Chevrolet)。

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!

分類
發燒車訊

基於flink和drools的實時日誌處理

1、背景

日誌系統接入的日誌種類多、格式複雜多樣,主流的有以下幾種日誌:

  • filebeat採集到的文本日誌,格式多樣
  • winbeat採集到的操作系統日誌
  • 設備上報到logstash的syslog日誌
  • 接入到kafka的業務日誌

以上通過各種渠道接入的日誌,存在2個主要的問題:

  • 格式不統一、不規範、標準化不夠
  • 如何從各類日誌中提取出用戶關心的指標,挖掘更多的業務價值

為了解決上面2個問題,我們基於flink和drools規則引擎做了實時的日誌處理服務。

2、系統架構

架構比較簡單,架構圖如下:

 

各類日誌都是通過kafka匯總,做日誌中轉。

flink消費kafka的數據,同時通過API調用拉取drools規則引擎,對日誌做解析處理后,將解析后的數據存儲到Elasticsearch中,用於日誌的搜索和分析等業務。

為了監控日誌解析的實時狀態,flink會將日誌處理的統計數據,如每分鐘處理的日誌量,每種日誌從各個機器IP來的日誌量寫到Redis中,用於監控統計。

3、模塊介紹

系統項目命名為eagle。

eagle-api:基於springboot,作為drools規則引擎的寫入和讀取API服務。

eagle-common:通用類模塊。

eagle-log:基於flink的日誌處理服務。

重點講一下eagle-log:

對接kafka、ES和Redis

對接kafka和ES都比較簡單,用的官方的connector(flink-connector-kafka-0.10和flink-connector-elasticsearch6),詳見代碼。

對接Redis,最開始用的是org.apache.bahir提供的redis connector,後來發現靈活度不夠,就使用了Jedis。

在將統計數據寫入redis的時候,最開始用的keyby分組后緩存了分組數據,在sink中做統計處理后寫入,參考代碼如下:

        String name = "redis-agg-log";
        DataStream<Tuple2<String, List<LogEntry>>> keyedStream = dataSource.keyBy((KeySelector<LogEntry, String>) log -> log.getIndex())
                .timeWindow(Time.seconds(windowTime)).trigger(new CountTriggerWithTimeout<>(windowCount, TimeCharacteristic.ProcessingTime))
                .process(new ProcessWindowFunction<LogEntry, Tuple2<String, List<LogEntry>>, String, TimeWindow>() {
                    @Override
                    public void process(String s, Context context, Iterable<LogEntry> iterable, Collector<Tuple2<String, List<LogEntry>>> collector) {
                        ArrayList<LogEntry> logs = Lists.newArrayList(iterable);
                        if (logs.size() > 0) {
                            collector.collect(new Tuple2(s, logs));
                        }
                    }
                }).setParallelism(redisSinkParallelism).name(name).uid(name);

後來發現這樣做對內存消耗比較大,其實不需要緩存整個分組的原始數據,只需要一個統計數據就OK了,優化后:

        String name = "redis-agg-log";
        DataStream<LogStatWindowResult> keyedStream = dataSource.keyBy((KeySelector<LogEntry, String>) log -> log.getIndex())
                .timeWindow(Time.seconds(windowTime))
                .trigger(new CountTriggerWithTimeout<>(windowCount, TimeCharacteristic.ProcessingTime))
                .aggregate(new LogStatAggregateFunction(), new LogStatWindowFunction())
                .setParallelism(redisSinkParallelism).name(name).uid(name);

這裏使用了flink的聚合函數和Accumulator,通過flink的agg操作做統計,減輕了內存消耗的壓力。

使用broadcast廣播drools規則引擎

1、drools規則流通過broadcast map state廣播出去。

2、kafka的數據流connect規則流處理日誌。

//廣播規則流
env.addSource(new RuleSourceFunction(ruleUrl)).name(ruleName).uid(ruleName).setParallelism(1)
                .broadcast(ruleStateDescriptor);

//kafka數據流
FlinkKafkaConsumer010<LogEntry> source = new FlinkKafkaConsumer010<>(kafkaTopic, new LogSchema(), properties);
env.addSource(source).name(kafkaTopic).uid(kafkaTopic).setParallelism(kafkaParallelism);
//數據流connect規則流處理日誌 BroadcastConnectedStream<LogEntry, RuleBase> connectedStreams = dataSource.connect(ruleSource); connectedStreams.process(new LogProcessFunction(ruleStateDescriptor, ruleBase)).setParallelism(processParallelism).name(name).uid(name);

具體細節參考開源代碼。

4、小結

本系統提供了一個基於flink的實時數據處理參考,對接了kafka、redis和elasticsearch,通過可配置的drools規則引擎,將數據處理邏輯配置化和動態化。

對於處理后的數據,也可以對接到其他sink,為其他各類業務平台提供數據的解析、清洗和標準化服務。

 

項目地址:

https://github.com/luxiaoxun/eagle

 

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

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

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

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

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

※別再煩惱如何寫文案,掌握八大原則!