串聯鈣鈦礦與 CIGS,新型薄膜太陽能轉換效率創新高達 24.6%

摘錄自2018年9月27日科技新報報導

繼月初加州大學洛杉磯分校帶來轉換效率達 22.4% 的鈣鈦礦─銅銦鎵硒(CIGS)太陽能電池,近期比利時歐洲跨校際微電子研究中心(IMEC)更進一步、將轉換效率突破至 24.6%,再一次創下新紀錄。

團隊採用 EnergyVille 與歐洲薄膜太陽能研究聯盟 Solliance 合作研發的鈣鈦礦、德國巴登符騰堡太陽能和氫能源研究中心(ZSW)面積僅 0.5 平方公分大小的 CIGS 太陽能,並透過添加光學耦合層與最佳化透明電極,提升鈣鈦礦對近紅外光的透光率。

除此之外,也改善鈣鈦礦 1.72eV 寬能隙,進一步提高鈣鈦礦─CIGS 太陽能轉換效率。ZSW 太陽能部門執行長 Michael Powalla 表示,目前已成功打造鈣鈦礦─CIGS 串聯太陽能原型,也提出了雙端子型串聯太陽能解決方案,未來則致力於將轉換效率提升至 30% 以上與打造更大的太陽能模組,盼該技術可助建築整合太陽能系統一臂之力。

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

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

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

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

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

※試算大陸海運運費!

地震與海嘯在蘇拉威西釀巨禍 背後因素多

摘錄自2018年10月1日中央社報導

規模7.5的強震引發海嘯巨浪,快速席捲蘇拉威西島,在濱海城市巴路(Palu)和周遭地區奪走至少844條人命。印尼科技評估與應用局(BPPT)的海嘯專家威喬(Widjo Kongko)接受媒體訪問時表示:預警系統功能不彰、缺乏地震避難知識教育,以及賦予海嘯毀滅性力量的狹窄海灣,是造成印尼蘇拉威西島(Sulawesi)28日出現致命性災難的3大因素。

印尼蘇門答臘島(Sumatra)2004年也曾遭遇強震引發大海嘯襲擊,共造成環印度洋地區22萬人喪生,其中大多在印尼。後來印尼在全國各地部署22套初期預警浮標系統,以偵測海嘯。

不過印尼官員承認,這些浮標系統已不再發揮作用,一方面是遭到任意破壞,另一方面也是因為缺乏維修經費。

印尼海嘯預警系統的開發機構—德國地球科學研究中心(GFZ)表示,這套系統一如規劃運作,預測蘇拉威西島西北側會出現高達3公尺的海嘯。但警報器顯然沒有發揮作用,並未透過警方的廣播宣傳車向當地民眾發出警訊,令許多人措手不及。

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

【其他文章推薦】

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

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

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

台灣寄大陸海運貨物規則及重量限制?

大陸寄台灣海運費用試算一覽表

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

中國首條電動汽車無線充電車道建成

早在2012年,南方電網廣西電力科學研究院29歲的祝文姬博士和年輕的科研團隊就開始了“面向智慧電網的無線電能傳輸關鍵技術”專案研究,踏上了“電動汽車無線充電供電技術”的探索之路。經過4年時間的科研試驗,今年初,「面向智慧電網的無線電能傳輸關鍵技術研究」項目驗收完成,科研人員開發了無線電能傳輸系統工程設計平臺,研製了駐停式電動汽車無線充電裝置,成功建成了中國國內第一條電動汽車無線供電小型試驗車道,打通了電動汽車充電的「最後一哩」。

作為該專案技術負責人,祝文姬博士說:「以後大家可以一邊開車一邊充電,甚至電動汽車沒有車載電池也能解決電源的問題。」邊走邊充,電動汽車開啟了無線供電的美好時代。

電動汽車無線供電車道可在固定行駛的公車路線、高速路、景區道路上推廣使用。祝文姬說:「無線供電車道類似於加油站,當電動汽車電量不足時,就可以駛入鋪設有無線供電系統的車道上,邊走邊充電,而且全過程不需要駕駛者下車操作。」

對於安全問題,祝文姬表示,電能傳輸過程中沒有導線的直接接觸,不存在電力安全隱患;至於電磁輻射,在系統設計之初就進行了考慮,經過協力廠商檢測機構測試後不但滿足國際輻射標準,還比標準低一半,不會危害駕駛人身體健康。

祝文姬稱,當前的電動汽車主要採用傳導充電方式。這種帶「尾巴」的充電方式需要使用充電電纜連線充電機和電動汽車。而擺脫了充電「尾巴」束縛的無線充電技術,不僅可以通過在車庫、停車場、公車停靠站等車輛停放處安裝駐停式電動汽車無線充電裝置,實現電動汽車停靠過程中的無線充電;還可以通過系統隨時遠端調節充電時長、即時監控車輛狀態,實現充滿電後自動斷電。

只要把車停到指定區域,不需要任何線纜就可以直接充電

最令電動汽車消費者欣慰的是,祝文姬團隊研發的電動汽車無線供電車道「不挑剔、不嬌氣」,任何品牌的電動汽車都可以使用,只需加裝無線接收裝置。而且充電時間大大減少,以總電池容量為24kWh的電動汽車為例,如果以30kW的功率進行充電,不到1小時即可充滿。

專案研究過程中並非一帆風順。2013年,在專案原計劃即將結題的時間點,祝文姬和她的科研團隊發現,電能轉換效率雖然比立項前的65%有顯著提升,但是仍然還有潛力可挖。當時1度電從電網傳輸到汽車上,除掉一些不可避免的損耗,汽車能接收到75%。本著對科研負責的態度,祝文姬申請將課題延遲2年結題。科研人員最終將電能轉換效率成功提升至85%,成功拿下電動汽車無線供電技術,並且達到了中國乃至世界先進水準。
 

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

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

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

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

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

※試算大陸海運運費!

豐田與Uber將聯手打造新型汽車租賃業務

據路透社報導,豐田與Uber 5月24日宣稱,或在汽車共用服務領域展開合作,前者將投資汽車租賃。

雙方在一份聯合聲明中表示,將打造新型租賃業務,購車者可從豐田金融服務公司租賃車輛,作為Uber司機獲取收入,該收入可作為租車費用。

稍早時候,大眾宣佈向汽車共用公司Gett投資3億美元。此前,通用已向Lyft投資了5億美元,開發按需自動駕駛網路。

近日,蘋果向滴滴出行投資了10億美元,這被認為是科技巨頭搶佔中國市場份額的重大舉動。與此同時,福特正在尋求合作夥伴,以發展汽車製造和銷售之外的業務。

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

【其他文章推薦】

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

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

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

台灣寄大陸海運貨物規則及重量限制?

大陸寄台灣海運費用試算一覽表

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

Python多線程與隊列

Python多線程與Queue隊列多線程在感官上類似於同時執行多個程序,雖然由於GIL的存在,在Python中無法實現線程的真正并行,但是對於某些場景,多線程仍不失為一個有效的處理方法:

1,不緊急的,無需阻塞主線程的任務,此時可以利用多線程在後台慢慢處理;
2,IO密集型操作,比如文件讀寫、用戶輸入和網絡請求等,此時多線程可以近似達到甚至優於多進程的表現;

多線程的基本使用不再贅述,以下語法便可輕鬆實現:

1 def task(args1, args2):
2     pass
3 
4 Thread(
5     target=task,
6     args=(args1, args2)
7 ).start()

這裏我們重點關注線程通信。

假設有這麼一種場景:有一批源數據,指定一個操作係數N,需要分別對其進行與N的加減乘除操作,並將結果匯總。
當然這裏的加減乘除只是一種簡單處理,在實際的生產環境中,它其實代表了一步較為複雜的業務操作,並包含了較多的IO處理。

自然我們想到可以開啟多線程處理,那麼緊接着的問題便是:如何劃分線程,是根據處理步驟劃分,還是根據源數據劃分?

對於前者,我們把涉及的業務操作單獨劃分位一個線程,即有4個線程分別進行加減乘除的操作,顯然上一個線程的結果是下一個線程的輸入,這類似於流水線操作;

而後者則是把源數據分為若干份,每份啟動一個線程進行處理,最終把結果匯總。一般來說,我們推薦第一種方式。因為在一個線程中完成所有的操作不如每步一個線程清晰明了,

尤其是在一些複雜的場景下,會加大單個線程的出錯概率和測試難度。

那麼我們將開闢4個線程,分別執行加減乘除操作。最後一個除法線程結束則任務完成:

 

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 from Queue import Queue
 5 from threading import Thread
 6 
 7 
 8 class NumberHandler(object):
 9     def __init__(self, n):
10         self.n = n
11 
12     def add(self, num):
13         return num + self.n
14 
15     def subtract(self, num):
16         return num - self.n
17 
18     def multiply(self, num):
19         return num * self.n * self.n
20 
21     def divide(self, num):
22         return num / self.n
23 
24 
25 class ClosableQueue(Queue):
26     SENTINEL = object()
27 
28     def close(self):
29         self.put(self.SENTINEL)
30 
31     def __iter__(self):
32         while True:
33             item = self.get()
34             try:
35                 if item is self.SENTINEL:
36                     return
37                 yield item
38             finally:
39                 self.task_done()
40 
41 
42 class StoppableWorker(Thread):
43     def __init__(self, func, in_queue, out_queue):
44         super(StoppableWorker, self).__init__()
45         self.in_queue = in_queue
46         self.out_queue = out_queue
47         self.func = func
48 
49     def run(self):
50         for item in self.in_queue:
51             result = self.func(item)
52             self.out_queue.put(result)
53             print self.func
54 
55 
56 if __name__ == '__main__':
57     source_queue = ClosableQueue()
58     add_queue = ClosableQueue()
59     subtract_queue = ClosableQueue()
60     multiply_queue = ClosableQueue()
61     divide_queue = ClosableQueue()
62     result_queue = ClosableQueue()
63 
64     number_handler = NumberHandler(5)
65 
66     threads = [
67         StoppableWorker(number_handler.add, add_queue, subtract_queue),
68         StoppableWorker(number_handler.subtract, subtract_queue, multiply_queue),
69         StoppableWorker(number_handler.multiply, multiply_queue, divide_queue),
70         StoppableWorker(number_handler.divide, divide_queue, result_queue),
71     ]
72 
73     for _thread in threads:
74         _thread.start()
75 
76     for i in range(10):
77         add_queue.put(i)
78 
79     add_queue.close()
80     add_queue.join()
81     print 'add job done...'
82     subtract_queue.close()
83     subtract_queue.join()
84     print 'subtract job done...'
85     multiply_queue.close()
86     multiply_queue.join()
87     print 'multiply job done...'
88     divide_queue.close()
89     divide_queue.join()
90     print 'divide job done...'
91     result_queue.close()
92 
93     print "%s items finished, result: %s" % (result_queue.qsize(), result_queue)
94 
95     for i in result_queue:
96         print i

運行結果:

線程執行日誌:

 

 

 總的結果:

 

 可見線程交叉運行,但是任務卻是順序結束,這符合我們的預期。

值得注意的是,我們在ClosableQueue定義了一個close()方法,通過放入一個特殊的類變量SENTINEL告訴隊列應該關閉。此外,由於直接加減乘除結果不變,因此我特意乘了兩次來便於我們判斷結果。

總結:

1. Queue是一種高效的任務處理方式,它可以把任務處理流程劃分為若干階段,並使用多條python線程來同時執行這些子任務;

2. Queue類具備阻塞式的隊列操作、能夠指定緩衝區尺寸,而且還支 持join方法,這使得開發者可以構建出健壯的流水線。

 

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

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

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

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

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

※試算大陸海運運費!

java property 配置文件管理工具框架,避免寫入 property 亂序

property

是 java 實現的 property 框架。

特點

  • 優雅地進行屬性文件的讀取和更新

  • 寫入屬性文件后屬性不亂序

  • 靈活定義編碼信息

  • 使用 OO 的方式操作 property 文件

  • 支持多級對象引用

變更日誌

快速開始

環境依賴

Maven 3.x

Jdk 1.7+

Maven 引入依賴

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>property</artifactId>
    <version>0.0.4</version>
</dependency>

入門案例

讀取屬性

PropertyBs.getInstance("read.properties").get("hello");

read.properties 為文件路徑,hello 為存在的屬性值名稱。

讀取屬性指定默認值

final String value = PropertyBs.getInstance("read.properties")
                .getOrDefault("hello2", "default");

read.properties 為文件路徑,hello2 為不存在的屬性值名稱,default 為屬性不存在時返回的默認值。

設置屬性

PropertyBs.getInstance("writeAndFlush.properties").setAndFlush("hello", "world-set");

writeAndFlush.properties 為文件路徑,hello 為需要設置的屬性信息。

引導類方法概覽

序號 方法 說明
1 getInstance(propertyPath) 獲取指定屬性文件路徑的引導類實例
2 charset(charset) 指定文件編碼,默認為 UTF-8
3 get(key) 獲取 key 對應的屬性值
4 getOrDefault(key, defaultValue) 獲取 key 對應的屬性值,不存在則返回 defaultValue
5 set(key, value) 設置值(內存)
6 remove(key) 移除值(內存)
7 flush() 刷新內存變更到當前文件磁盤
9 flush(path) 刷新內存變更到指定文件磁盤
10 set(map) 設置 map 信息到內存
11 set(bean) 設置 bean 對象信息到內存
12 asMap() 返回內存中屬性信息,作為 Map 返回
13 asBean(bean) 返回內存中屬性信息到 bean 對象中

對象

簡介

我們希望操作 property 可以想操作對象一樣符合 OO 的思想。

設置值

User user = new User();
user.setName("hello");
user.setHobby("hobby");

final long time = 1574147668411L;
user.setBirthday(new Date(time));

PropertyBs propertyBs = PropertyBs.getInstance("setBean.properties")
        .set(user);

Assert.assertEquals("hobby", propertyBs.get("myHobby"));
Assert.assertEquals("1574147668411", propertyBs.get("birthday"));

讀取值

PropertyBs propertyBs = PropertyBs.getInstance("setBean.properties"
        .set("myHobby", "play")
        .set("birthday", "1574147668411");
User user = new User();
propertyBs.asBean(user);
Assert.assertEquals("play", user.getHobby());
Assert.assertEquals(1574147668411L, user.getBirthday().getTime());

對象定義

  • User.java
public class User {

    private String name;

    @PropertyField("myHobby")
    private String hobby;

    @PropertyField(converter = DateValueConverter.class)
    private Date birthday;

}

@PropertyField 註解

序號 屬性 默認值 說明
1 value 當前字段名稱 對應的 property 屬性名稱
2 converter 默認轉換實現 DefaultValueConverter 對當前字段進行屬性的轉換處理

自定義轉換類

  • DateValueConverter.java

這個就是我們針對 Date 類型,自己實現的處理類型。

實現如下:

public class DateValueConverter implements IValueConverter {

    @Override
    public Object fieldValue(String value, IFieldValueContext context) {
        return new Date(Long.parseLong(value));
    }

    @Override
    public String propertyValue(Object value, IPropertyValueContext context) {
        Date date = (Date)value;
        return date.getTime()+"";
    }

}

集合

說明

有時候一個屬性可能是集合或者數組,這裏暫時給出比較簡單的實現。

將字段值直接根據逗號分隔,作為屬性值。

測試案例

UserArrayCollection userArrayCollection = buildUser();
PropertyBs propertyBs = PropertyBs.getInstance("setBeanArrayCollection.properties")
        .set(userArrayCollection);
Assert.assertEquals("array,collection", propertyBs.get("alias"));
Assert.assertEquals("array,collection", propertyBs.get("hobbies"));

對象定義

  • UserArrayCollection.java
public class UserArrayCollection {

    private List<String> alias;

    private String[] hobbies;
}

暫時只支持 String 類型,不想做的過於複雜。

後期將考慮添加各種類型的支持。

多級對象

說明

有時候我們在一個對象中會引用其他對象,比如 對象 a 中包含對象 b。

這裏採用 a.b.c 這種方式作為屬性的 key, 更加符合使用的習慣。

測試案例

設置

Book book = new Book();
book.name("《海底兩萬里》").price("12.34");
UserEntry user = new UserEntry();
user.name("海倫").book(book).age("10");
PropertyBs propertyBs = PropertyBs.getInstance("setBeanEntry.properties")
        .set(user);
Assert.assertEquals("海倫", propertyBs.get("name"));
Assert.assertEquals("10", propertyBs.get("age"));
Assert.assertEquals("《海底兩萬里》", propertyBs.get("book.name"));
Assert.assertEquals("12.34", propertyBs.get("book.price"));

讀取

Map<String, String> map = new HashMap<>();
map.put("name", "海倫");
map.put("age", "10");
map.put("book.name", "《海底兩萬里》");
map.put("book.price", "12.34");
UserEntry userEntry = new UserEntry();
PropertyBs.getInstance("setBeanEntry.properties")
        .set(map)
        .asBean(userEntry);
Assert.assertEquals("UserEntry{name='海倫', age=10, book=Book{name='《海底兩萬里》', price=12.34}}",
        userEntry.toString());

對象定義

  • UserEntry.java
public class UserEntry {

    private String name;

    private String age;

    @PropertyEntry
    private Book book;

}
  • Book.java
public class Book {

    private String name;

    private String price;

}

@PropertyEntry 說明

@PropertyEntry 註解用來標識一個字段是否採用多級對象的方式表示。

這個註解只有一個屬性,就是 value(),可以用來給當前字段指定一個別稱,和 @PropertyField 別稱類似。

後續特性

  • 提供更多內置的類型轉換實現

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

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

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

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

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

※試算大陸海運運費!

使用Spring安全表達式控制系統功能訪問權限

一、SPEL表達式權限控制

spring security 3.0開始已經可以使用spring Expression表達式來控制授權,允許在表達式中使用複雜的布爾邏輯來控制訪問的權限。Spring Security可用表達式對象的基類是SecurityExpressionRoot。

表達式函數 描述
hasRole([role]) 用戶擁有指定的角色時返回true (Spring security默認會帶有ROLE_前綴),去除前綴參考
hasAnyRole([role1,role2]) 用戶擁有任意一個指定的角色時返回true
hasAuthority([authority]) 擁有某資源的訪問權限時返回true
hasAnyAuthority([auth1,auth2]) 擁有某些資源其中部分資源的訪問權限時返回true
permitAll 永遠返回true
denyAll 永遠返回false
anonymous 當前用戶是anonymous時返回true
rememberMe 當前用戶是rememberMe用戶返回true
authentication 當前登錄用戶的authentication對象
fullAuthenticated 當前用戶既不是anonymous也不是rememberMe用戶時返回true
hasIpAddress('192.168.1.0/24')) 請求發送的IP匹配時返回true

部分朋友可能會對Authority和Role有些混淆。Authority作為資源訪問權限可大可小,可以是某按鈕的訪問權限(如資源ID:biz1),也可以是某類用戶角色的訪問權限(如資源ID:ADMIN)。當Authority作為角色資源權限時,hasAuthority(’ROLE_ADMIN’)與hasRole(’ADMIN’)是一樣的效果。

二、SPEL在全局配置中的使用

我們可以通過繼承WebSecurityConfigurerAdapter,實現相關的配置方法,進行全局的安全配置(之前的章節已經講過) 。下面就為大家介紹一些如何在全局配置中使用SPEL表達式。

2.1.URL安全表達式

config.antMatchers("/system/*").access("hasAuthority('ADMIN') or hasAuthority('USER')")
      .anyRequest().authenticated();

這裏我們定義了應用/person/*URL的範圍,只有擁有ADMIN或者USER權限的用戶才能訪問這些person資源。

2.2.安全表達式中引用bean

這種方式,比較適合有複雜權限驗證邏輯的情況,當Spring Security提供的默認表達式方法無法滿足我們的需求的時候。首先我們定義一個權限驗證的RbacService。

@Component("rbacService")
@Slf4j
public class RbacService {
    //返回true表示驗證通過
    public boolean hasPermission(HttpServletRequest request, Authentication authentication) {
        //驗證邏輯代碼
        return true;
    }
    public boolean checkUserId(Authentication authentication, int id) {
        //驗證邏輯代碼
        return true;
    }
}

對於”/person/{id}”對應的資源的訪問,調用rbacService的bean的方法checkUserId進行權限驗證,傳遞參數為authentication對象和person的id。該id為PathVariable,以#開頭表示。

config.antMatchers("/person/{id}").access("@rbacService.checkUserId(authentication,#id)")
      .anyRequest().access("@rbacService.hasPermission(request,authentication)");

三、 Method表達式安全控制

如果我們想實現方法級別的安全配置,Spring Security提供了四種註解,分別是@PreAuthorize , @PreFilter , @PostAuthorize 和 @PostFilter

3.1.開啟方法級別註解的配置

在Spring安全配置代碼中,加上EnableGlobalMethodSecurity註解,開啟方法級別安全配置功能。

@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MySecurityConfig extends WebSecurityConfigurerAdapter {

3.2 使用PreAuthorize註解

@PreAuthorize 註解適合進入方法前的權限驗證。只有擁有ADMIN角色才能訪問findAll方法。

@PreAuthorize("hasRole('ADMIN')")
List<Person> findAll();

3.3 使用PostAuthorize註解

@PostAuthorize 在方法執行后再進行權限驗證,適合根據返回值結果進行權限驗證。Spring EL 提供返回對象能夠在表達式語言中獲取返回的對象returnObject。下文代碼只有返回值的name等於authentication對象的name才能正確返回,否則拋出異常。

@PostAuthorize("returnObject.name == authentication.name")
Person findOne(Integer id);

3.4 使用PreFilter註解

PreFilter 針對參數進行過濾,下文代碼錶示針對ids參數進行過濾,只有id為偶數才能訪問delete方法。

//當有多個對象是使用filterTarget進行標註
@PreFilter(filterTarget="ids", value="filterObject%2==0")
public void delete(List<Integer> ids, List<String> usernames) {

3.5 使用PostFilter 註解

PostFilter 針對返回結果進行過濾,特別適用於集合類返回值,過濾集合中不符合表達式的對象。

@PostFilter("filterObject.name == authentication.name")
List<Person> findAll();

期待您的關注

  • 博主最近新寫了一本書:
  • 本文轉載註明出處(必須帶連接,不能只轉文字):。

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

【其他文章推薦】

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

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

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

台灣寄大陸海運貨物規則及重量限制?

大陸寄台灣海運費用試算一覽表

打破松下壟斷,特斯拉擬向Samsung SDI採購車用電池

美商特斯拉(Tesla)所生產的電動車所使用之車用蓄電池,至目前仍幾乎都由日本松下(Panasonic)供應,幾乎形成壟斷狀況。日媒報導,特斯拉計畫拓展電池採購對象,目前已與韓商Samsung SDI展開最終協調。

《日經中文網》一篇報導指出,特斯拉為供應需求日漸成長的純電動車所需的蓄電池,計畫推行多樣化採購對象,且與Samsung SDI的合作,目前已到了最終階段。據報導,Samsung SDI的純電動車用鋰電池已送至位於美國加州的特斯拉開發基地,但由於數量較大,因此被認為已到了正式採用前的試驗階段,而非產品試驗用品。

松下所供應的電動車用蓄電池在質、量兩方面一直占有市場優勢,因此佔據電動車市場供應的大宗。松下與特斯拉於2015年在美國內華達州展開的Gigafactory建設計畫仍在持續,且有部分產能陸續投產,預計將在今年七月底初步完工。

Gigafactory原先規劃的產能為2020年時50GWh,但由於特斯拉還發表了儲能設備Powerpack 和Powerwall ,且市場對Tesla Model 3的反應熱烈,使特斯拉客戶對鋰電池的需求大增,因此有擴增Gigafactory產量的計畫。

而目前供應純電動車用鋰電池的廠商,除了松下、Samsung SDI之外,另一主要廠商為韓國LG Chem,但供應量不大。

(照片來源:Samsung SDI)

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

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

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

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

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

※試算大陸海運運費!

特斯拉擠進十大最有價值汽車品牌

特斯拉(Tesla)以矽谷精神來打造汽車,一直受到持「安全第一」保守精神的傳統汽車產業攻擊,不過無可否認的,特斯拉成功在車壇打出一席之地,2016 年 6 月,行銷研究公司 WPP 與 Millward Brown 於 2016 年百大價值品牌報告中,特斯拉品牌價值達 44 億美元,超越凌志(Lexus)成為汽車品牌中第十大最有價值品牌,其中主要原因之一正是其創新精神,儘管如此,特斯拉以矽谷精神造車的品質疑慮卻也從沒停過。   特斯拉的品牌曝光率沒話說,幾乎天天都在媒體版面上,雖然不見得是因為正面的原因,如 Model 3 預購熱賣的消息佔據媒體版面,但隨之而來質疑是否能如期交貨的評論與報導也甚囂塵上。   然而,特斯拉在產業內創新並適應競爭的能力,在 WPP 與 Millward Brown 看來,是未來品牌價值的主要推動力,在兩公司進行的消費者調查中,特斯拉在品牌創新、品牌目標、品牌體驗項目超越平均值,報告中指出,特斯拉的品牌價值在近年來大幅成長,雖然特斯拉以不進行傳統廣告戰聞名,但其少量花費的行銷經費,產生的價值與效用卻相當可觀。   其他汽車品牌則大致沒有變化,豐田(Toyota)以 295 億美元守住王座,福斯(VW)則因為柴油車排放作弊事件形象大受打擊而從第二名跌落,不過旗下保時捷(Porsche)與特斯拉同樣以 44 億美元擠進前十。  
處理問題「誠意」讓人滿意   特斯拉品牌價值節節高升的同時,特斯拉品質疑慮也揮之不去,時常有車主宣稱故障,而 2016 年 4 月時特斯拉回收近 3,000 輛休旅車 Model X,主因為絞鍊故障導致車禍時第三排座椅可能會崩坍,也成為關注焦點。此外,特斯拉傳出 Model S 車主發生事故車輛損毀之後,與特斯拉交涉,最後特斯拉答應支付部分修車費用,但是卻要求車主簽下保密協定。   美國國家公路交通安全管理局(National Highway Traffic Safety Administration,NHTSA)表示這種協定可能妨礙車主向國家公路交通安全管理局回報安全問題,相當不妥,要求特斯拉不可以用保密條文限制車主,特斯拉則回應這只是在給予車主額外福利的同時,不會因此遭認定是車輛本身有安全性問題而遭遇「好心被雷親」賠償損失,並更改與車主間協定的條文。   美國國家公路交通安全管理局對更改後的條文表示滿意,並且檢查 Model S 懸吊系統後,表示沒有安全問題。   事實上 Model S 「問題發生率高於平均」早就為人詬病,不過由於特斯拉保固 8 年,加上高效率的客服,以最快速度幫助消費者解決問題,不論是馬達、差速器、剎車、資訊系統出問題,都以最不讓消費者困擾的方式盡速更換,「誠意」讓人滿意,因此雖故障率高卻還是能享有高滿意度。   但隨著品牌價值登上前十,特斯拉恐怕得更戒慎恐懼,維持得來不易的品牌價值,尤其是當空前數量的 Model 3 大量趕工出貨之後,其品質狀況如何,恐怕將會是特斯拉品牌的生死關鍵。

(首圖來源: CC BY 2.0)

(本文授權轉載自《》─〈〉)

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

【其他文章推薦】

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

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

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

台灣寄大陸海運貨物規則及重量限制?

大陸寄台灣海運費用試算一覽表

三星、LG未獲中國電動車用電池認證

韓國三星SDI、LG Chem兩大電池廠商申請中國電動車用鋰電池認證,但遭拒於門外,意味車用電池在中國銷售時無法獲得補貼,幾乎等同遭市場排擠。兩者均表示將在年內重提申請。

根據《東網》與《MoneyDJ》等媒體之相關報導,三星SDI、LG Chem與其他31家中國電池廠商共同向中國公信部提交電動汽車電池認證,但除了兩家韓廠外,其他廠商均名列20日公布的《汽車動力蓄電池行業規範條件》企業目錄名單。

中國已公告,2018年1月開始,只有配備工信部認證電池的車輛才可獲得電動車採購補貼。由於補貼金佔電動車價格達40%,無補貼的電池很難找到客戶,幾乎等於被排擠於市場之外。

三星SDI、LG Chem均表示不清楚被拒原因,且都將於今年重新遞交申請。

中國電動車競爭日漸激烈,政府也曾祭出保護本土產業的措施,包括要求成品須有一定比例零件於本地生產等。但這次三星SDI、LG Chem踢到鐵板,引發保護政策的疑慮,韓廠憂心中國政府將祭出更嚴密的保護措施。不過,兩家公司已分別在中國南京與西安建立電池工廠,投產後疑慮可望降低。

三星SDI與LG Chem目前共供應全球約1/3電動車用電池,因看好中國市場發展性而積極搶進。LG Chem現有客戶包括通用汽車、福特(Ford)與現代,中國客戶有上汽集團與奇瑞汽車。三星SDI則有鄭州宇通、北汽福田兩家中國客戶,且之前傳出將為特斯拉供應電池產品,但特斯拉已表示Model 3仍將獨家採用Panasonic的電池。

(照片來源:shared by CC 2.0 )

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

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

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

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

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

※試算大陸海運運費!