蟳蟹類繁殖期 新北禁捕抱卵母蟹

摘錄自2019年8月15日自由時報新北報導

蟳蟹類繁殖期將至,新北市政府農業局呼籲漁民遵守每年8月16日至11月15日禁止捕捉抱卵母蟹(俗稱開花母蟹)規定,永續海洋資源,新北市2012年起行銷「萬里蟹」,向漁民宣導「捉大放小、不抓抱卵母蟹」,讓萬里蟹資源能夠永續利用。

新北市農業局呼籲漁民遵守「沿近海漁船捕撈蟳蟹類漁獲管制措施」相關規定,勿捕撈甲殼寬小於8公分三點蟹、花蟹,及甲殼寬小於6公分的石蟳;每年8月16日至11月15日期間,勿捕撈抱卵母蟹。 新北農業局長李玟表示,「萬里蟹」等蟳蟹類是新北市重要的漁業資源,資源永續維護是產業得以長久經營的基礎,將會同漁業署及海岸巡防單位不定期前往漁港稽查行動,嚴格取締違規行為。

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

【電腦軟硬體應用文章推薦】

※必看的水冷常識,電腦冷卻液有效降低電腦系統內的溫度

Low conductivity coolant 低導電水冷液金屬腐蝕結果測試報告大公開

※DIY水冷式幫浦 Brushless dc pump 優劣比較

苗栗縣公告59株受保護樹木 最高齡逾800歲

摘錄自2019年8月15日中央社苗栗報導

苗栗縣府針對森林外樹木進行普查,公告59株受保護樹木,其中銅鑼鄉興隆國小樹齡已逾800年的老樟樹,不僅最高齡,也曾獲選全國最美校樹之一,是地方發展重要精神堡壘。

林務局2015年7月公告增訂森林法樹木保護專章,明定地方主管機關應對轄區森林外樹木進行普查,凡經公告之受保護樹木,應優先加強保護。苗栗縣政府2019年7月首次公告列管59株受保護樹木,多位於校園或伯公廟、機關、社區、民宅、道路旁;樹種多為樟樹、榕樹及茄苳,少數為台灣油杉、淋漓、黃連木及琉球松。

其中,樹齡最老的銅鑼鄉興隆國小老樟樹,估計已逾800歲,樹圍約5.8公尺,至少得5人以上才能環抱,樹高約22公尺,樹形挺拔,且生長狀況良好,2015年曾獲福田樹木保育基金會「全國最美校樹」特優,近幾年畢業季,校方與雪霸國家公園志工合作舉辦畢業生「攀高敬樹」環境教育活動,別具特色。

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

【工業材料相關資訊推薦】

北部螺絲、螺帽專賣店-居家修繕大小事!

特製螺絲工廠批發-精密零件專售

不鏽鋼螺絲的應用常識-五金修繕

不鏽鋼螺絲一般用於什麼地方做固定?

國際AI智慧園區 環評過關

摘錄自2019年8月15日中國時報竹縣報導

新竹縣政府推動新竹縣國際AI智慧園區,日前經新竹縣環境影響評估審查委員會審議通過,預計10月完成園區報編、都市計畫發布實施,這也是獲經濟部工業局核定,被列為前瞻基礎建設計畫之一的項目。

新竹縣國際AI智慧園區總面積約為12.61公頃,初步規畫設置8.06公頃的產業專用區,包含興建1棟AI產業願景館,還有國際會議廳、創新育成中心、新創辦公室及產品展示與體驗場域等,另4.56公頃為公共設施用地。

園區用地初步將以出租,即設定地上權為主,規畫引進無煙囪類別產業,如節能、綠色能源研發、設計及後端應用技術服務,以及軟體設計、資訊服務、智慧應用服務等產業。也將促進新竹地區AI專業技術大專學院、研究單位與業者的產學合作,提供新創業者基本設施、儀器與支援服務,以提升產業競爭力並促進產業轉型。

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

【在地推薦】

家庭、朋友聚會,享受輕鬆烤肉必備外燴烤爐NO.1

各種攤販小吃設備,沙威瑪機自動旋轉烤玉米機,側火烤爐應有盡有!

營業用紅外線烤爐比價站,怕你買貴,幫你找好康~

必買推薦!上下火烤爐全台最便宜都在這!

密集到起雞母皮!淡水住家窗戶「發現上百顆蟲卵」憂問:到底是什麼 網友急喊「別用手碰阿」

最近的天氣越來越熱,許多冬天不敢出現的蚊子、螞蟻等蟲蟲大軍,都已經陸續出現,而農民最害怕的荔枝椿象,也開始進入繁殖期,還有那些令人聞風色變的「秋行軍蟲」,如今也入侵到全台各地了。日前就有一名網友在臉書PO文,驚恐地表示他家窗戶有一大片密密麻麻的蟲卵,讓人看了頭皮發麻,但他卻不知道那些是什麼,結果內行人看完後,立刻就大喊:「千萬別用手碰!」

圖片來源:三立新聞網(示意圖)

根據《三立新聞網》報導,這位網友在臉書「細說淡水」中PO出一張照片,只見他家裡的窗戶外,年滿了許多的綠色蟲卵,看上去密密麻麻的,估計數量可達上百顆,讓人看了頭皮發麻,連密集恐懼症也快要發作了,相當噁心!原PO表示,他們家是住在一樓,很害怕這些是荔枝椿象的蟲卵,但又不太確定,因此只好上網求助,擔心詢問:「有人知道這是什麼嗎?」

圖片來源:細說淡水

果然貼文曝光後,立刻就掀起了一陣熱議,大家紛紛留言表示「怎麼會那麼多啊!」、「太噁心了」、「看完雞皮疙瘩都起來了」、「來人啊!給我一把火燒了!」、「看完只想罵髒話」。為此,還有熱心的網友,直接把照片用LINE傳給了防檢局,詢問:「您好,請問這個是秋行軍蟲的卵嗎?」獲得了官方回答:「這不是秋行軍蟲」。

圖片來源:細說淡水

這個回答,無疑讓大家都鬆了一口氣,但心裡又開始好奇,「如果不是秋行軍蟲,那到底會是什麼呢?」對此就有人指出,「應該也不會是荔枝椿象,牠們的卵比較大顆,而且通常只會出現14顆」、「我看過荔枝椿象的卵,這一大片不太像」。沒想到最後釣出了專業的網友,一看到就立刻回答:「褐斑毒蛾!!牠們最喜歡把卵產在一起,形成卵塊!原PO還是趕快處理吧,不然可能會讓皮膚產生過敏、發炎的反應。」

圖片來源:細說淡水

真的太噁心了,到底為什麼會有那麼多!大家如果有習慣把衣服曬在陽台,最近一定要很注意啊!

本站聲明:網站內容來源http://www.look543.com,如有侵權,請聯繫我們,我們將及時處理

電子菸
電子煙
電子菸

kubernetes高級之動態准入控制

系列目錄

動態准入控制器文檔介紹了如何使用標準的,插件式的准入控制器.但是,但是由於以下原因,插件式的准入控制器在一些場景下並不靈活:

  • 它們需要編譯到kube-apiserver里

  • 它們僅在apiserver啟動的時候可以配置

准入鈎子(Admission Webhooks 從1.9版本開始)解決了這些問題,它允許准入控制器獨立於核心代碼編譯並且可以在運行時配置.

什麼是准入鈎子

准入鈎子是一種http回調,它接收准入請求然後做一些處理.你可以定義兩種類型的准入鈎子:驗證鈎子和變換鈎子.對於驗證鈎子,你可以拒絕請求以使自定義准入策略生效.對於變換鈎子,你可以改變請求來使自定義的默認配置生效.

體驗准入鈎子

准入控制鈎子是集群管制面板不可缺少的一部分.你在編寫部署它們時必須要警惕.如果你想要編寫/布置生產級別的准入控制器,請閱讀以下用戶指南.下面我們將介紹如何快速體驗准入鈎子.

準備工作:

  • 確保你的kubernetes集群版本至少是1.9版本.

  • 確保變換鈎子(MutatingAdmissionWebhook) 和驗證鈎子(ValidatingAdmissionWebhook)已經啟用.這裡是推薦開啟的一組准入控制器.

編寫一個准入鈎子服務器(admission webhook server)

請參閱已經被kubernetes e2e測試驗證通過的准入服務器鈎子( admission webhook server)的實現.這個web鈎子處理apiserver發出的admissionReview請求,然後把結果封裝成一個admissionResponse返回給請求者.

admissionReview請求可能有多個版本( v1beta1 或者 未來的v1),web鈎子可以通過admissionReviewVersions字段來定義它們接受的版本.apiserver會嘗試使用列表中出現的,支持的第一個版本.如果列表中的版本沒有一個是被支持的,驗證將失敗.如果webhook配置已經持久化,對web鈎子的請求將會失敗並被失敗策略控制.

示例鈎子服務器(admission webhook server)把ClientAuth字段留空,默認為NoClientCert.這意味着鈎子服務器不驗證客戶端身份.如果你需要使用mutual TLS或者其它方法來驗證客戶端請求,請參考如何認證apiserver

部署准入控制服務

e2e測試的鈎子服務器通過部署api(https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#deployment-v1beta1-apps)被部署到kubernetes集群中.測試項目也為鈎子服務器創建了一個前端服務,代碼

你也可以把你的鈎子服務部署到集群外,你需要相應地更新web鈎子客戶端配置

運行時配置准入web鈎子

你可以通過ValidatingWebhookConfiguration和MutatingWebhookConfiguration動態地配置哪些資源被哪些web鈎子控制.

以下是一個validatingWebhookConfiguration配置的示例,變換鈎子的配置也類似

apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
  name: <name of this configuration object>
webhooks:
- name: <webhook name, e.g., pod-policy.example.io>
  rules:
  - apiGroups:
    - ""
    apiVersions:
    - v1
    operations:
    - CREATE
    resources:
    - pods
    scope: "Namespaced"
  clientConfig:
    service:
      namespace: <namespace of the front-end service>
      name: <name of the front-end service>
    caBundle: <pem encoded ca cert that signs the server cert used by the webhook>
  admissionReviewVersions:
  - v1beta1
  timeoutSeconds: 1

scope字段指定了集群級別的資源(“Cluster”)或者名稱空間級別的資源(“Namespaced”)需要匹配這些規則.”*”表示沒有任何範圍限制.

注意,如果使用clientConfig.service,服務端證書必須對<svc_name>.<svc_namespace>.svc有效.

web鈎子請求默認超時時間為30秒,但是從1.14版本開始,你可以自由設置超時時間但是建議設置較小的時間.如果web鈎子請求超時,請求將被web鈎子的失敗策略處理.

當apiserver接收到一個匹配規則的請求,apiserver將會發送一個admissionReview請求到clientConfig配置的web鈎子里.

創建web鈎子配置以後,系統將會經過一段時間使新配置生效.

認證apiserver

如果你的准入web鈎子需要認證,你可以配置apiserver使用基本認證(basic auth), bearer token 或者證書認證.需要三個步驟來完成認證配置.

  • 當啟動apiserver時,通過--admission-control-config-file選項來指定準入控制配置文件的位置.

  • 在准入控制配置文件里,指定變換控制器(MutatingAdmissionWebhook)和驗證控制器(ValidatingAdmissionWebhook)從哪裡讀取證書.證書存儲在kubeConfig文件里(和kubectl使用的相同),字段名為kubeConfigFile.下面是准入控制配置文件示例

apiVersion: apiserver.k8s.io/v1alpha1
kind: AdmissionConfiguration
plugins:
- name: ValidatingAdmissionWebhook
  configuration:
    apiVersion: apiserver.config.k8s.io/v1alpha1
    kind: WebhookAdmission
    kubeConfigFile: <path-to-kubeconfig-file>
- name: MutatingAdmissionWebhook
  configuration:
    apiVersion: apiserver.config.k8s.io/v1alpha1
    kind: WebhookAdmission
    kubeConfigFile: <path-to-kubeconfig-file>

這裡是admissionConfiguration的schema定義

  • 在kubeConfig文件里,提供證書
apiVersion: v1
kind: Config
users:
# DNS name of webhook service, i.e., <service name>.<namespace>.svc, or the URL
# of the webhook server.
- name: 'webhook1.ns1.svc'
  user:
    client-certificate-data: <pem encoded certificate>
    client-key-data: <pem encoded key>
# The `name` supports using * to wildmatch prefixing segments.
- name: '*.webhook-company.org'
  user:
    password: <password>
    username: <name>
# '*' is the default match.
- name: '*'
  user:
    token: <token>

當然,你需要設置web鈎子服務器來處理這些認證.

【精選推薦文章】

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

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

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

高速輸出-我們戲說緩存

前言

緩存要解決的問題是速度的問題,使用緩存的目的是為了減少對物理資源的訪問,緩存大量的應用在軟硬件的方方面面,從 CPU 到硬盤,就應用了 一級緩存、二級緩存,少部分高速緩存和大量低速緩存相結合,以提高 CPU 的計算能力,本文講的主要是系統集成項目中的軟件級別的緩存。

緩存因果圖

緩存在現代系統中的位置可以說是舉足輕重,不是可有可無的問題了,而是怎麼樣用好的問題。怎麼樣講好緩存這個話題,我思考了很久;如果是生搬硬套,我估計我肯定是涼涼,但要是上來就一頓代碼操作,顯得字太多,各位看官老爺也是要噴死我的(你們噴我算我贏)。各位看官就當故事隨便看看就好了。

客戶端緩存

小明同學是一個大學生,每個月都會從爸爸那裡領取生活費,由於爸爸給的生活費比較充裕,他就將一部分存了起來,周而復始,固定頻率,這就是瀏覽器網頁緩存;有一天,他接到爸爸的一個電話,說每個月給現金,我總是從銀行拿也不方便,這樣,咱給存銀行卡裡頭,但是說好了,每個月1號的時候轉1000塊進去,3號之前可以領取,過時不侯。這就是 Cookie!小明說爸,這時間太緊迫了,我萬一太過於專心學習忘記取錢那你兒子可是要餓死的吖,到時候沒人給你養老送終事兒就大了。他爸爸經過深思熟慮后,決定放開取現時間的限制:行,你想什麼時候取都成,就是別把卡給弄掉了就行。這就是LocalStorage/IndexDB,瀏覽器本地存儲。如果銀行卡掉了(瀏覽器重裝,刪庫跑路),那還得找爸爸。

服務器緩存

我們本次討論的重點就是服務器緩存,對於小明的爸爸來說,每次給小明生活費之前都要到銀行(數據庫)去取錢出來,實在是太麻煩,不如提前把錢取出來準備好,每次取半年的錢出來放家裡保險箱里(緩存),小明申請生活費的時候,直接給他就好了,節約時間效率又高,唯一的問題就是可能沒那麼安全,有可能被小偷把錢給偷了(緩存更新),然後就是半年時間過後再重新取一筆出來(緩存過期策略)。

靜態對象緩存

靜態對象也是一種特殊的緩存,靜態對象作用於程序的整個生命周期中。需要注意的是,靜態對象不會被 GC 回收 ,但是,如果靜態對象被多次引用覆蓋,那麼之前的引用就有可能被 GC 回收。這就好像,小明在向爸爸領取生活費的時候,發現這次領到手的錢實在是太破舊了,都不好意思花出去,爸爸只好重新給了另一份。

會話級緩存

在 Web 站點中,Session 是私有制的,各個 Session 之間是不會共享內存對象的,我們可以利用這個特性(在Asp.NET 時代常用)來暫時保存一些數據,例如用戶購物車。還是以小明的需求為例子,小明下面還有一個妹妹,妹妹每個月都可以從爸爸那裡多領取200元生活費,看到妹妹的資源這麼好,小明憤憤不平,就像妹妹提議共享生活費,一家人一起用,多好吖!結果小明被爸爸揍了一頓,還收回了部分生活費。

進程級別緩存

基本上每個應用程序都具有本地緩存的能力,在 Asp.NET 中就有 MemoryCache ,也叫做進程級緩存(本地緩存),MemoryCache 和 分佈式緩存的作用基本一致,所不同的是,本地緩存在應用程序停止后就會被釋放掉,無法進行持久存儲。就好像,小明在上大學期間,每個月都是生活費的,但是到暑假的時候就沒有了(只能靠苦逼的暑期工掙點生活費啊)。

分佈式緩存

分佈式緩存是個好東西,目前市場上出現了非常多的 nosql 數據庫,都可用作緩存數據庫,有時候,這些緩存數據庫也提供持久化的能力。

小明家的生活條件,在經過爸爸的不懈努力之後,生活水平漸漸提高了;有一天,爸爸對小明說:明仔吖,咱們家現在生活水平提高了,但是爸爸也越來越忙了,這樣,如果我忙的時候,你問媽媽或者爺爺奶奶,也是可以拿到生活費的,咱們家這幾位長輩手裡都有錢了,這就是分佈式緩存。

但是分佈式緩存又分為主從模式和集群模式,上面說的是集群模式,爸爸媽媽爺爺奶奶都可以拿錢,但是主從模式就不同了,主從模式就是錢都在爸爸手裡,爸爸會把錢分給每個長輩一份,如果當時正好爸爸太忙了,沒來得及分給媽媽,而小明又恰好問媽媽要生活費的話;媽媽只能對他說:小命呀,不好意思,媽媽這裏也沒有,你看看再問問其它人(客戶端自己輪詢),在問了媽媽、爺爺后(引用指向),終於知道,錢在爸爸那裡,還得問爸爸要生活費。而且爸爸給其它人分錢的時候,還要佔用他工作的時間。

緩存雪崩

緩存雪崩就是在某一個時刻,大量的緩存同時失效,造成數據庫訪問壓力倍增。小明的爸爸最近壓力比較大,因為收入減少了,他爸爸做的一個工程因為種種原因,貨款只能分期付清,為了防止小明和妹妹同時申請生活費,造成資金周轉困難;爸爸規定妹妹 1 號領取生活費,而小明在 5 號才能領取,小明心裏的苦啊!

緩存穿透

緩存穿透就是客戶端總是嘗試訪問某個不存在的緩存,造成了每次都要取請求數據庫讀取數據。就好像小明吧,本來生活挺平靜的,這剛上大二,就交了個女朋友,每個月的 1000 元生活費有點捉襟見肘,然後他又不能讓爸爸知道,就在申請生活費的時候,每次都多要一點;這樣就搞得爸爸很被動,本來計劃得好好的,每個月都是 1000 塊,這沒次都不夠,老是要跑銀行取現金,終於在3個月後,爸爸發現了這個問題,想著兒子也大了,為了早日抱上孫子,就提高了小明的生活費,解決了每次都要跑銀行的問題。

緩存擊穿

緩存擊穿和緩存雪崩有點類似,其中不同的是;緩存雪崩是大量緩存 key 同時過期,而緩存擊穿是大量的請求指向同一個緩存key,在這個 key 過期的時候,大量的請求湧入數據庫中,造成了瞬間巨大的壓力。舉個栗子,因為小明交了女朋友的原因,他的生活費總是很快用完了;這種情況下,他也必須在 1 號的時候拿到生活費,不然就要吃土了,但是媽媽不允許他們一起取打擾爸爸,媽媽就指定了妹妹去問,在妹妹沒有回來之前,小明只能等着,這就是為了解決緩存擊穿而採用的策略:互斥鎖(mutex key)

運維級別緩存

除了在應用程序中可以接入緩存以外,部分運維工具也集成了緩存服務,比如 Nginx、IIS。

代理緩存

Nginx 就是反向代理緩存,通過配置 Nginx 的緩存功能,在客戶端請求到來到時候去加載緩存內容,用以提高響應能力,IIS 緩存又分為用戶緩存和內核緩存。IIS 的輸出緩存設置中,內核模式緩存不會對驗證等用戶信息進行檢查,就好像小明等爸爸因為太趕時間,把錢放門衛大媽那裡了,結果隨便來了個學生就把小明等生活費給領走了,但是加上用戶模式緩存后,就可以添加對身份的檢查(請求標頭),這樣大媽就會知道誰是小明而不會隨便把生活費交給別人了。

網頁靜態化

這種技術,在 Web1.0 時代非常的流行,我還記得那些個年頭的網站開發項目中的要求,大部分項目的需求分析文檔裏面就明晃晃的寫着:網頁靜態化!,而靜態化常見於各種企業型、論壇帖子,在發表這些信息后就將其生成靜態網頁,客戶端訪問的時候,直接重定向到該靜態網頁,基本無需訪問數據庫。

CDN 緩存

CDN 緩存類似於上面提到的分佈式緩存,但是實際上 CDN 緩存服務目前來說,主要說針對靜態資源的,比如圖片、視頻、文件等等;大家經常可以看到,很多站點都號稱提供了 CDN 加速服務,這些站點就像一個個代辦信用卡的銷售中介,實際上拿的都是銀行的資源。

更形象一些的說法,就是大家的錢都是中國人民銀行發行的,我們可以通過各個不同的銀行(CDN節點)查詢我們的銀行卡餘額(我怎麼可能有餘額),在以前沒有手機銀行的時候,大家就可以到附近的銀行去查詢,然後取款(CDN緩存),如果附近的銀行的櫃員機沒有現金,那麼可能就需要到總行去取了(回源),如果發生了太多回源的事件,就會造成 CDN 的擁堵,所以 CDN 服務商也不敢打包票自己的基礎服務沒有問題,反正我是沒見到哪家 CDN 服務商敢註明服務穩定性 100%,基本上都是 99.99%

結束語

緩存的理論知識,其實是非常宏大的,我這裏只是拋磚引玉,希望能給入門的朋友帶來一點幫助,如果你喜歡這篇文章,請給我點贊,讓更多同學可以看到。

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置、網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計及後台網頁設計

帶您來看台北網站建置台北網頁設計,各種案例分享

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

SpringBoot啟動流程分析(五):SpringBoot自動裝配原理實現

SpringBoot系列文章簡介

SpringBoot源碼閱讀輔助篇:

  Spring IoC容器與應用上下文的設計與實現

SpringBoot啟動流程源碼分析:

  1. SpringBoot啟動流程分析(一):SpringApplication類初始化過程
  2. SpringBoot啟動流程分析(二):SpringApplication的run方法
  3. SpringBoot啟動流程分析(三):SpringApplication的run方法之prepareContext()方法
  4. SpringBoot啟動流程分析(四):IoC容器的初始化過程
  5. SpringBoot啟動流程分析(五):SpringBoot自動裝配原理實現
  6. SpringBoot啟動流程分析(六):IoC容器依賴注入

筆者註釋版Spring Framework與SpringBoot源碼git傳送門:請不要吝嗇小星星

  1. spring-framework-5.0.8.RELEASE
  2. SpringBoot-2.0.4.RELEASE

自定義Starter:

  SpringBoot應用篇(一):自定義starter

一、前言

  上一篇文章,通過分析refresh()方法中的invokeBeanFactoryPostProcessors()方法,分析了IoC容器的初始化過程,這一節從代碼上如下所示,接上一節ConfigurationClassParser類中的parse()方法,接着分析SpringBoot的自動裝配原理。

 1 // ConfigurationClassParser類
 2 public void parse(Set<BeanDefinitionHolder> configCandidates) {
 3     this.deferredImportSelectors = new LinkedList<>();
 4     for (BeanDefinitionHolder holder : configCandidates) {
 5         BeanDefinition bd = holder.getBeanDefinition();
 6         try {
 7             // 如果是SpringBoot項目進來的,bd其實就是前面主類封裝成的 AnnotatedGenericBeanDefinition(AnnotatedBeanDefinition接口的實現類)
 8             if (bd instanceof AnnotatedBeanDefinition) {
 9                 parse(((AnnotatedBeanDefinition) bd).getMetadata(), holder.getBeanName());
10             } else if (bd instanceof AbstractBeanDefinition && ((AbstractBeanDefinition) bd).hasBeanClass()) {
11                 parse(((AbstractBeanDefinition) bd).getBeanClass(), holder.getBeanName());
12             } else {
13                 parse(bd.getBeanClassName(), holder.getBeanName());
14             }
15         } catch (BeanDefinitionStoreException ex) {
16             throw ex;
17         } catch (Throwable ex) {
18             throw new BeanDefinitionStoreException(
19                     "Failed to parse configuration class [" + bd.getBeanClassName() + "]", ex);
20         }
21     }
22     // 加載默認的配置---》(對springboot項目來說這裏就是自動裝配的入口了)
23     processDeferredImportSelectors();
24 }

 

二、SpringBoot自動裝配原理。

2.1、@SpringBootApplication註解

  對這個註解詳細大家一定非常熟悉了。再來好好看看這個註解。

 1 @Target(ElementType.TYPE)
 2 @Retention(RetentionPolicy.RUNTIME)
 3 @Documented
 4 @Inherited
 5 @SpringBootConfiguration
 6 @EnableAutoConfiguration
 7 @ComponentScan(excludeFilters = {
 8         @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
 9         @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
10 public @interface SpringBootApplication {
11     ...
12 }

  接着看@EnableAutoConfiguration

1 @Target(ElementType.TYPE)
2 @Retention(RetentionPolicy.RUNTIME)
3 @Documented
4 @Inherited
5 @AutoConfigurationPackage
6 @Import(AutoConfigurationImportSelector.class)
7 public @interface EnableAutoConfiguration {
8     ...
9 }

  OK,看到@Import(AutoConfigurationImportSelector.class)導入了一個重要的類AutoConfigurationImportSelector。

2.2、AutoConfigurationImportSelector

 1 // AutoConfigurationImportSelector類
 2 //自動裝配
 3 @Override
 4 public String[] selectImports(AnnotationMetadata annotationMetadata) {
 5     if (!isEnabled(annotationMetadata)) {
 6         return NO_IMPORTS;
 7     }
 8     AutoConfigurationMetadata autoConfigurationMetadata = AutoConfigurationMetadataLoader
 9             .loadMetadata(this.beanClassLoader);
10     AnnotationAttributes attributes = getAttributes(annotationMetadata);
11     //獲取所有的自動配置類(META-INF/spring.factories中配置的key為org.springframework.boot.autoconfigure.EnableAutoConfiguration的類)
12     List<String> configurations = getCandidateConfigurations(annotationMetadata,
13             attributes);
14     configurations = removeDuplicates(configurations);
15     //需要排除的自動裝配類(springboot的主類上 @SpringBootApplication(exclude = {com.demo.starter.config.DemoConfig.class})指定的排除的自動裝配類)
16     Set<String> exclusions = getExclusions(annotationMetadata, attributes);
17     checkExcludedClasses(configurations, exclusions);
18     //將需要排除的類從 configurations remove掉
19     configurations.removeAll(exclusions);
20     configurations = filter(configurations, autoConfigurationMetadata);
21     fireAutoConfigurationImportEvents(configurations, exclusions);
22     return StringUtils.toStringArray(configurations);
23 }

  至於怎麼從章節一中提到的ConfigurationClassParser類中的parse()===>processDeferredImportSelectors()==>AutoConfigurationImportSelector#selectImports(),篇幅有限不做過多介紹。

   List<String> configurations = getCandidateConfigurations(annotationMetadata, attributes); 

  我們來看一下getCandidateConfigurations()方法是怎麼拿到這些自動配置類的。

// AutoConfigurationImportSelector類
1
protected List<String> getCandidateConfigurations(AnnotationMetadata metadata, 2 AnnotationAttributes attributes) { 3 List<String> configurations = SpringFactoriesLoader.loadFactoryNames( 4 getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader()); 5 Assert.notEmpty(configurations, 6 "No auto configuration classes found in META-INF/spring.factories. If you " 7 + "are using a custom packaging, make sure that file is correct."); 8 return configurations; 9 }

  是不是又看到一個十分熟悉的方法loadFactoryNames(),沒錯,其實我們在分析SpringBoot啟動流程的第一篇文章的時候,就已經分析了,SpringBoot是如何從META-INF/spring.factories中加載指定key的value的。ok,我們在這裏再次回顧一遍。

  看看loadFactoryNames()方法

// SpringFactoriesLoader類
1
public static List<String> loadFactoryNames(Class<?> factoryClass, @Nullable ClassLoader classLoader) { 2 String factoryClassName = factoryClass.getName(); 3 return loadSpringFactories(classLoader).getOrDefault(factoryClassName, Collections.emptyList()); 4 }

  debug,看看要從META-INF/spring.factories中加載的類的key,如下圖所示:org.springframework.boot.autoconfigure.EnableAutoConfiguration

  回到selectImports()方法,debug,跳過List<String> configurations = getCandidateConfigurations(annotationMetadata,attributes);看一下configurations

  竟然有110個,那這些類都在哪裡呢?看spring-boot-autoconfigure(當然在SpringBoot的工程中,也不止這一個依賴包中存在該配置文件)工程下的META-INF/spring.factories,我們能看到org.springframework.boot.autoconfigure.EnableAutoConfiguration定義了一大堆。

  其中還有一個com.demo.starter.config.DemoConfig是我自定義的starter。如下所示,我在測試工程中添加了自定義starter的依賴,所以SpringBoot就能掃描到。

1 <dependency>
2     <groupId>com.demo</groupId>
3     <artifactId>demo-spring-boot-starter</artifactId>
4     <version>0.0.1-RELEASE</version>
5 </dependency>

   繼續看Set<String> exclusions = getExclusions(annotationMetadata, attributes);方法,該方法是排除主類上@SpringBootApplication註解上排除的自動裝配的類。比如我們在該註解上排除我們自定義starter的自動裝配的類,@SpringBootApplication(exclude = {com.demo.starter.config.DemoConfig.class})(當然也可以用excludeName進行排除),那麼在後面的configurations.removeAll(exclusions);方法中將會刪除我們的com.demo.starter.config.DemoConfig.class。

  configurations = filter(configurations, autoConfigurationMetadata);該行代碼將會過濾掉不需要裝配的類。過濾的邏輯有很多,比如我們常用的@ConditionXXX註解。如下所示:

 1 @ConditionalOnBean:容器中有指定的Bean 
 2 @ConditionalOnClass:當類路徑下有指定的類
 3 @ConditionalOnExpression:基於SpEL表達式作為判斷條件  
 4 @ConditionalOnJava:基於JVM版本作為判斷條件  
 5 @ConditionalOnJndi:在JNDI存在的條件下查找指定的位置  
 6 @ConditionalOnMissingBean:當容器中沒有指定Bean的情況下  
 7 @ConditionalOnMissingClass:當類路徑下沒有指定的類
 8 @ConditionalOnNotWebApplication:當前項目不是Web項目
 9 @ConditionalOnProperty:配置文件中指定的屬性是否有指定的值  
10 @ConditionalOnResource:類路徑下是否有指定的資源  
11 @ConditionalOnSingleCandidate:當指定Bean在容器中只有一個,或者雖然有多個但是指定首選Bean
12 @ConditionalOnWebApplication:當前項目是Web項目的條件下

   至於如何將這些類解析成BeanDefinition並註冊進beanDefinition中的,和上一節講的過程是一樣的,不再贅述了。

  debug,跳過refresh()方法中的invokeBeanFactoryPostProcessors(beanFactory);方法。如下圖所示,最終在beanFactory的BeanDefinitionMap中找到了自定義starter中的自動裝配的類。

 

  綜合本文和上一篇博文我們詳細的梳理了IoC容器的初始化過程,到此IoC容器的初始化過程就結束了。

 

  

  原創不易,轉載請註明出處。

  如有錯誤的地方還請留言指正。

【精選推薦文章】

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

想要讓你的商品在網路上成為最夯、最多人討論的話題?

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

不管是台北網頁設計公司台中網頁設計公司,全省皆有專員為您服務

想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師"嚨底家"!!

降價是止痛葯,但不是抑制iPhone下滑的解藥

  文/王新喜

  來源:熱點微評(ID:redianweiping)

  美國投行 Wedbush 分析師丹尼爾·艾維斯 14 日在報告中稱,未來數月 iPhone 在中國將大幅降價。他在報告中稱:“我們預計,在未來數月 iPhone XR 將大幅降價。蘋果在中國市場正面臨‘紅色警報’,為 iPhone XR 和未來型號的 iPhone 制定正確的價格策略,對於蘋果而言至關重要。”

  艾維斯稱,要達到華爾街對蘋果業績的“理想預期”,低價格就是藥方。高盛分析師羅德哈爾此前的分析報告有同樣的看法,蘋果似乎在 iPhone XR 的定價策略上出現了嚴重失誤。根據手機行業的以往經驗,當定價權喪失時,消費科技公司要麼損失利潤率,要麼失去市場份額,或者兩者同時失去。

  定價策略的失誤是蘋果今年新機銷量欠佳的重要原因,在業內,這已經成為共識,可惜蘋果口頭上依然不承認,庫克也將 iPhone 下滑更多歸咎於經濟大環境,比如美元走強、產能限制和新興市場需求疲軟,但嘴上不承認,身體還是很誠實。

  早在 1 月 10 日,iPhone 降價潮就已經來臨,據媒體爆料深圳華強北渠道商收到美國方面對 iPhone 產品渠道降價的消息。

  iPhone XR、iPhone8 系列、iPhone X 以及 iPhone XS 系列等產品均開始降價。其中,華強北的遠望數碼城批發市場的 iPhone 新機出現不同程度的全線下跌。

  另外是,京東平台上的 iPhone8/8P 的價格將下調至 3999 元和 4799 元,與蘋果官網報價 5099 元和 5999 元分別相差 1100 元和 1200 元。其次是蘇寧官微表示,已大幅下調 iPhone 產品售價,其中 iPhone XR 128GB 版本到手價僅 5799 元,相較於蘋果官網 6999 元的價格便宜了 1200 元。

  相對於過去多年 iPhone 在價格上的穩定性與不妥協,今天的蘋果似乎已經開始向市場低頭。而且從當前的趨勢看,站着賺錢的日子過去了,早前蘋果下調預期,宣布 2019 年第一季度的營收預計為 840 億美元,低於最初預計的 890 億美元至 930 億美元。

  基於當前的銷量疲態,為挽救蘋果股價下跌頹勢,iPhone 可能會在接下來幾個月,持續調整價格來引發持幣待購群體再度倒向 iPhone。畢竟,接下來一個季度,蘋果可能需要依賴銷量來重新證明自己。

  短時間迎來降價潮,哪些深層危機浮現?

  回到一個問題,iPhone 相對 Android 最大的優勢是什麼?當然,一個重要的原因當然在於 iOS 相對 Android 的流暢性與穩定性,其次就是它的產品品質與品牌上保值性。

  一般來說,在過去,在新品發布后的半年內,蘋果的官網和直營店,有獨立門店的授權經銷商基本上處於維持原價的狀況,即便降價,也大致是小幅下跌,類似如今這種降價潮幾乎很難發生在蘋果身上。

  因為在過去幾年,Android 用久卡頓成為人們共識的時代,這決定着蘋果 iOS 在很長時間內都能維持它的品牌溢價,新品在一年之後,它的價格會小幅下滑,但總體上依然企穩,但 Android 陣營旗艦新品則會快速下跌。人們會覺得蘋果的保值性要優於 Android,是值這個價的。

  但如今,蘋果在銷量持續下滑的窘境中,開始將焦慮寫在臉上,如今 iPhone 開始大幅降價的本質是,它已經無力再維持它的品牌溢價,人人均知,蘋果 iPhone 的王牌就是 iOS,也是維持 iPhone 品牌溢價的關鍵環節,iPhone 的品牌溢價無力維持的背後是 iOS 的優勢其實已經遭遇到削弱了。

  這麼多年來,在手機性能與產品創新以及 Android 系統的流暢性與穩定性大幅提升的前提下,人們購機考量因素上,iOS 的重要性已經不如早前,這其實意味着,蘋果或許正面臨真正的品牌危機。

  在手機行業,銷量下滑是一個危險的信號,一旦銷量下滑,給外界的印象往往是衰落的信號。到目前為止,還沒有幾家手機廠商能從銷量下滑的趨勢中反彈回來東山再起。

  當然,小米的例外只不過是相對討巧的看到並抓住了印度低端市場的紅利,收割了一波銷量漲勢,掩飾了國內市場衰退的現實,但小米在產品創新與核心技術的短板並未補齊,硬件生態鏈布局其實是聲東擊西,轉移注意力,試圖以新硬件品類的產品布局與銷售來掩飾核心品類的危機。

  這類似於 HTC 手機賣不動的時候,開始大力布局 VR 尋找新的品類突破口。但手機這款產品的核心競爭力並沒有因此得到提升。

  因此,一旦印度市場的紅利逐步消褪,國內華為 OV 的產品提升與創新力更加明顯的時候,小米在國內市場的乏力與疲態就逐步顯現出來了。因此近期的股價大跌其實就是小米在國內市場的表現沒有符合資本市場的預期。

  扯得有點遠了。筆者要說的是,硬件廠商的軟肋就在於,它更多是依賴銷量來支撐它的品牌溢價的,對於手機市場來說,要講一個勢,市場份額的提升就是未來增長向好的一種信號,反之就是衰落的信號,或者說至少做到在整體市場上銷量排名的穩定性。

  在大環境不樂觀的前提,市場會容許小幅下跌,但很難容忍大幅下滑。因為一旦出現某一家廠商而非整體廠商的大幅下滑,它本質上反映出市場上的競爭對手在強勢崛起。

  而這家廠商在品牌溢價、供應鏈、產品創新能力、核心技術上的能力與優勢遭遇了削弱,以及產品對消費者偏好上的把握出現了失誤,這是一種深層危機的顯露。對於蘋果來說,產品定價的失誤可能更多是這種危機背後的一種表象。

  為何說降價並不是真正的藥方?

  從長遠來看,降價並不是蘋果的解藥。一方面,因為 iPhone 喪失了剛需屬性之後,更大的危機在於它的產品硬件性能以及創新層面逐步打不到年輕人的痛點,比如低配版的 iPhone XR 誠意不足,閹割嚴重,大黑邊、單攝導致其產品與年輕人所需要的產品顏值與品質感對不上號。

  在年輕人看來,這款產品配不上其售價,但蘋果並未意識到年輕人的這層需求,卻反而將其作為出貨主力機來下訂單。

  另外,iPhone 新機標配的依然是 5V1A 充電器,電池容量一直保持在 3000mAh 以下,短視頻火爆之下的剛需是年輕用戶對拍照續航要求越來越高,但 iPhone 的拍照優化並沒有 get 到年輕用戶的偏好,Android 陣營旗艦普遍在拍照、續航、信號都比 iPhone 更強,顏值越來越高,但價格低了好幾個段位。

  過去多年來,iPhone 更新必卡,續航遲遲跟不上,拍照落後等層面的創新乏力,其實已經讓消費者對 iPhone 到達了用戶審美疲勞的臨界點,在今年又是換殼為本、高定價割韭菜遊戲讓消費者到達了情緒爆發的節點,蘋果的產品在某些層面逐步偏離了新生代用戶的需求,這是蘋果沒有意識到的。

  另一方面是 5G 要來,蘋果最大的優勢在於,iOS 系統的優勢在於流暢易用快速,儘管這裏 5G 說的更快的速度,更多是說傳輸速度與下載速度。但某種程度上,5G 時代,更快更流暢可能會是主流 5G 手機的一種基本體驗,這是不是會削弱蘋果 iOS 的核心優勢?我覺得可能是會的。

  2G、3G 時代,軟硬件與通信網絡條件的限制,對手機的體驗造成了一定的影響,慢、卡頓、不流暢成了 Android 手機的普遍的直覺痛點與感受,但 4G 時代到來之後,更為快速的網絡條件與手機廠商的系統優化的進步,讓 Android 手機的易用性與流暢體驗帶來了一定改善。

  而到了 5G 時代之後,支持低延遲和大容量的 GB 級 、更快的網絡與速度,更高的清晰度和 VR 直播內容,必然是更為流暢快速的體驗,這本質上其實是讓蘋果的 iOS 優勢被進一步削弱了。

  這意味着什麼?這可能意味着在 5G 時代,蘋果再也難以依賴 iOS 這款操作系統吃老本了,它必須在創新層面,拿出實打實的亮點,否則它可能就真的危險了。

  在蘋果表示不再公布銷量的時候,顯然是注意到 iPhone 銷量減少,因此就採用提高單品價格的以保證營收和利潤。這其實是一種自殘的方式,因為它讓圍繞 iPhone 的生態圈縮小的同時,將 6000 元以下的主流手機市場拱手讓人。

  比如說 iPhoneXR 把 6K 檔以下下的空間留給了 mate20,XS 把 8K 以下的空間留給了 mate20Pro。而如今面臨銷量驟降的時候,又低下頭來大幅降價,其實是步入了當年索尼 HTC 的老路。

  在過去,新款手機推出后的幾個月內,價格大幅下降往往只會出現在 Android 陣營廠商,當手機的品牌溢價與產品品質不足以支撐它的售價的時候,在市場供求關係的效應下,它的價格會調整到與它的價值相契合的水平。

  過去無論是 HTC 還是索尼等廠商,它們的品牌溢價顯然不足以支撐它的產品價值,雖然這些廠商們人為的將旗艦價格定位一個較高的價位,但由於它的價值沒有匹配它的價格,因此用戶並不買賬,導致產品在短短几個月內一降再降,反過來使得這些廠商的品牌溢價被縮水。

  但結果是,用戶越來越不買賬,因為本質上,你破壞了你自己的定價體系,並且會養成用戶等價格跳水再延遲購買或者不再購買的決策。

  但在今年,蘋果在新品推出后短短三個月內就開始大幅降價來救市,這意味着 iPhone 它帶來的價值沒變,而由於競爭效應,價值已經縮水,低於它的產品定價,這時候它的品牌溢價已經維持不了它的價格了。iPhone 就只能下跌才能維持銷量和價值。

  當前蘋果降價對行業的影響就是即便短期內衝量有效,但長久看未必是提振產品銷量的良策。

  蘋果新 iPhone 在過去之所以在前期會遭遇搶購,是因為消費者心知肚明,iPhone 的保值性較好,短時間內它的價格會保持穩定,在兩年前,美國市場購買 12 個月的 iPhone,依然可折價 60% 出售,在中國,這個價格甚至還可以更高。

  這一方面體現出,當時的蘋果是將它的 iPhone 價格定在合理的水平,但隨着系統軟件的體驗差距在縮小,硬件性能在見頂,供不應求的新品狀況不再復現,過去對蘋果效力不大的摩爾定律開始在蘋果身上起到作用了,這在某種程度上影響到了蘋果新品的保值性。

  另一方面,蘋果一直依賴的品牌影響力與溢價能力能夠確保它的新品保值性趨於穩定。如今蘋果價格跳水先例一開,那麼未來用戶可能會更加傾向於延遲等待 iPhone 降價的時間窗口再做購買決定。

  因此,蘋果也可能因此走入推出新 iPhone——產品創新不足——用戶對高價不買賬——銷量慣性走低——價格跳水——品牌溢價下滑的惡性循環。

  所以說,市場真的很微妙,在產品創新乏力的情況下,高定價策略成了推動蘋果下滑的第一張多米諾骨牌,一旦開始往下走,降價救市措施往往會變得無力。

  蘋果需要做的是,從上述第二環(產品創新體系)與第三環(新品定價策略)兩個環節調整,打破它的惡性循環體系,重新復盤它的產品創新機制、供應鏈體系與定價體系,重新思考消費者的需求與痛點,平衡短期利潤與市場佔有的關係。

  當前的降價是止痛葯,但不是根治銷量下滑的最終良方。

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

【精選推薦文章】

帶您來了解什麼是 USB CONNECTOR  ?

為什麼 USB CONNECTOR 是電子產業重要的元件?

又掌控什麼技術要點? 帶您認識其相關發展及效能

《細胞》年度最佳論文新鮮出爐,快來看看你讀過多少

  來源:學術經緯

  近日,頂尖學術期刊《細胞》推出了“Best of 2018”特刊,介紹了 8 篇在 2018 年發表的優秀論文。特刊介紹頁面提到,這些是在其具有高影響力的期刊上,所刊登的年度最佳研究。

  微生物組竟會影響腦細胞

  在大腦中,存在一種叫做小膠質細胞(microglia)的巨噬細胞。它們對大腦的發育和穩態有着關鍵作用。這些細胞是否會受內在和外在因素的調控?這項研究所關注的正是這一話題。一支由新加坡與法國科學家組成的聯合團隊發現性別和微生物組都會影響到這些小膠質細胞。具體來說,這些研究人員們指出,小膠質細胞有着一系列的分化過程,而來自母親的微生物會影響到小膠質細胞在產前的特性。在無菌小鼠中,處於胚胎期的雄鼠與成年的雌鼠,其小膠質細胞都會出現異常。這表明微生物組的清除,不但會對小膠質細胞產生短期影響,還會產生長期影響,且這種影響與性別有關。研究人員們指出,這有助於我們理解小膠質細胞在疾病中的作用。

  論文地址:https://doi.org/10.1016/j.cell.2017.11.042

  我們找到了人類骨骼干細胞

  人類骨骼干細胞的調控在長期以來都沒有得到良好的研究。在這篇論文中,斯坦福大學的張元豪(Howard Y。 Chang)教授與 Michael T。 Longaker 教授分離出了具有自我更新能力的多能人類骨骼干細胞,它能產生骨骼、軟骨、以及基質等結構的祖細胞。基因表達分析的結果發現,即便這些骨骼干細胞來自多個來源,但它們的基因表達模式非常類似。而通過比較小鼠與人類的骨骼干細胞,科學家們也找到了兩種生物在骨骼生成通路上的異同。

  論文地址:https://doi.org/10.1016/j.cell.2018.07.029

  GPCR 藥物靶點的新洞見

  G 蛋白偶聯受體(GPCR)是新葯研發人員們所關注的一類重要蛋白。據估計,大約有 108 個 GPCR 是現有藥物的靶點。這些藥物多達 475 種,佔美國 FDA 批准藥物的三分之一!然而,由於人類遺傳上的多樣性,這些藥物對不同患者群體的作用效果各有不同。有時,它會改變藥物的作用效果,甚至帶來副作用。在這項研究中,來自英國的一支團隊做了一個大型的藥物基因組學研究,對人類遺傳學多樣性有了更深的理解。這些數據也有助於我們為患者開出更為精準的處方,更好地改善他們的病情。此外,這種精準的治療也能在一定程度上避免藥物的浪費。

  論文地址:https://doi.org/10.1016/j.cell.2017.11.033

  “人魚族”的生存秘訣

  在東南亞地區,生活着一群“人魚族”。他們的日常生活中,有很大一部分需要潜水。在外界眼中,他們的屏氣潜水能力堪稱驚人,但這背後的生理學原因,卻一直沒有得到闡明。在這項研究中,科學家們做了一個基因組學的比較分析。他們發現在自然選擇的影響下,這群“人魚族”的 PDE10A 基因上出現了一個變異,讓他們的脾臟體積明顯增大,從而能夠儲存更多的紅細胞,用來供氧。此外,另一個叫做 BDKRB2 的基因,也有助於這群“人魚”進行深度潜水。這些發現不僅揭示了“人魚族”的生存秘訣,還有望用於缺氧症的治療。

  論文地址:https://doi.org/10.1016/j.cell.2018.03.054

  看懂癌症的演化

  透明細胞腎細胞癌(ccRCC)是一類惡性癌症,關於它的系統性研究目前還並不多。在這篇論文里,一支龐大的跨國研究團隊分析了 101 名患者的 1206 個原發腫瘤位點,並發現每一個腫瘤都有至多達 30 個驅動因素。隨後,他們理順了驅動因素髮生的先後順序,整理出了一幅腫瘤演化的圖譜。他們發現,ccRCC 可以被分為 7 大亞型,有着不同的遺傳多樣性和染色體複雜性,這都會影響到患者的最終預后。這些發現為該惡性癌症的治療提供了寶貴的洞見,帶來了潛在的干預和監控手段。

  論文地址:https://doi.org/10.1016/j.cell.2018.03.043

  首只體細胞克隆猴的誕生

  去年 1 月,中國科學院神經科學研究所的科學家們帶來了一項重磅研究:人類首次使用體細胞克隆技術,帶來了克隆猴。先前,體細胞克隆技術在猴子身上難以取得成功。中科院神經所研究員孫強博士與研究團隊經過多年的探索,找到了數個關鍵:研究人員們發現,來自不同體細胞的細胞核,克隆成功率不盡相同,而來自“成纖維細胞”的細胞核成功率較高;其次,在引入體細胞的細胞核后,我們還需引入表觀遺傳學的調控,對影響胚胎髮育的基因進行適當的“激活”和“關閉”,確保胚胎髮育的時間不會太早,也不會太晚;最後,克隆出的胚胎還需要精心呵護,防止胎死腹中。

  2017 年 11 月 27 日,這群為之奮鬥了無數個日夜的科學家們,終於迎來了屬於他們的榮光——世界上第一隻體細胞克隆猴“中中”誕生了。10 天後,第二隻體細胞克隆猴“華華”也順利誕生。後續的測試表明,她們的確是細胞核供體的克隆。

  《細胞》出版社首席執行官、《細胞》期刊主編 Emilie Marcus 博士評價說:“該成果是一項令人興奮的重要工作,這是全世界科學家花了二十年時間才達到的技術里程碑,它有潛力引發動物研究的革命並幫助研發治療人類疾病的新方法。”

  論文地址:https://doi.org/10.1016/j.cell.2018.01.020

  理解突觸的形成與活性

  突觸的活性一直是神經科學領域所關注的重點。這一精細的結構,對於神經元之間的信號傳導起到了關鍵效果。在發育過程中,突觸的正確形成,對於哺乳動物的大腦功能至關重要。在這項研究里,香港科技大學的張明傑教授團隊使用生物化學的方法,重塑了突觸后緻密物(postsynaptic density)的結構框架。這個框架能使受體聚集,選擇性地集中一些酶,並促進肌動蛋白束的形成。研究人員們指出,這為研究突觸如何形成與調節,提供了一個很好的分子平台。

  論文地址:https://doi.org/10.1016/j.cell.2018.06.047

  “深度學習”用於疾病診斷

  深度學習在醫學影像的處理上,已經取得了極大的進展。這項研究中,一支跨國研究團隊使用深度學習的框架,打造了一款能夠診斷多種疾病的工具,張康教授為該研究的通訊作者。研究表明,這款工具可以精準地對年齡相關性黃斑變性和糖尿病性黃斑水腫等致盲性眼病作出診斷,總體準確度達到了 96.6%,靈敏度為 97.8%,特異性為 97.4%,AUC 值(可反映算法的優劣)更是高達 99.9%。

  此外,這款 AI 工具還有很廣的適用性。通過“閱讀”X光片,這款工具可以區分兒童的細菌性肺炎和病毒性肺炎,為治療提供協助。這一重量級的研究,也登上了當期的《細胞》封面。

  論文地址:https://doi.org/10.1016/j.cell.2018.02.010

  2019 年,我們期待更多科學進展誕生!

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

【精選推薦文章】

平板收購,iphone手機收購,二手筆電回收,二手iphone收購-全台皆可收購

收購3c,收購IPHONE,收購蘋果電腦-詳細收購流程一覽表

高價3c回收,收購空拍機,收購鏡頭,收購 MACBOOK-更多收購平台討論專區

3c收購,鏡頭 收購有可能以全新價回收嗎?

賣IPHONE,iPhone回收,舊換新!教你怎麼賣才划算?

支招:夏季婚房完美裝修六大看點

支招:夏季婚房完美裝修六大看點

來自:www.zxdyw.com
日期:2009-07-14 16:19:19
由於夏季經常出現溫度過高、過於乾燥或者雨水過多、過於潮濕的極端天氣現象。因此一向不被認為是家裝的好季節。其實,夏季施工只要注意一些重要事項,也能避免發生質量問題。在此,特別為您搜羅了適合夏季施工的裝修資訊,希望能夠幫助您在這個夏天里裝出滿意的愛家!

    由於夏季經常出現溫度過高、過於乾燥或者雨水過多、過於潮濕的極端天氣現象。因此一向不被認為是家裝的好季節。其實,夏季施工只要注意一些重要事項,也能避免發生質量問題。在此,特別為您搜羅了適合夏季施工的裝修資訊,希望能夠幫助您在這個夏天里裝出滿意的愛家!

  客廳——舒適親切、賓主皆歡

  新婚燕爾,前來祝福的親朋好友絡繹不絕,因此客廳的布置不易太過特立獨行,應以舒適親切為主,既要讓自己住得舒服,也要讓客人有種賓至如歸的感受。

  要將房間營造出與眾不同的感覺,可以從一些小細節入手,例如落地燈、茶几,甚至是果盤和茶壺,只要用心去布置,一定能讓到場的每位客人感到驚奇。

  卧室——個性展示、溫馨甜蜜

  卧室可是婚房布置的重頭戲,既要展示出兩個人的個性又要營造出溫馨甜蜜的氛圍,在軟裝的選擇有幾個重點:婚床、床品、抱枕、窗帘。

  現在很多居室的窗型是落地式的,除了有窗帘的選購外還有窗紗,朦朧的窗紗給人以浪漫的感覺。同時,作為卧室的窗帘必須厚實,要起到保護私密空間的作用。裝飾品往往起到畫龍點睛的作用,古人常雲:“洞房花燭夜”,因此在卧室里擺上燭台和蠟燭不失為一個好計策,既應了此刻此景,又美觀大方。

  餐廳———水晶玻璃、美酒佳肴

  餐廳在西方國家裡一直是個製造浪漫的地方,吃着愛人精心準備的佳肴,望着水晶玻璃杯里的紅酒總給人以幸福的感覺。

  書房———活動傢具、順應變化

  由於年輕人事業剛起步,現在的婚房房型一般以2室1廳為主,書房的布置又要考慮到以後成為兒童房的可能性。

  書房的傢具應是可以活動的,而且不易太過笨重,是可以搬走的,以適應各種變化。

  一方面隨時賦予新的感覺、新的面貌,另一方面,也為書房將來成為兒童房做好準備。

  浴室———另一種浪漫的私密空間

  浴室是新婚夫妻營造另一種浪漫的私密空間,色彩上可以大膽明快一些,再擺放上一些小飾品,比如清香的乾花包、一對卡通情侶拖鞋、配對的毛巾……每天看到這些東西都會讓人會心地微笑。

  廚房———為日常烹飪做好準備

  激情過後,是每一天具體的日子,新婚小夫妻可能不會經常下廚房,但這不是長久之計,所以廚房的裝修不能簡單馬虎,該有的烹飪設施要齊全,即使暫時沒有置備,也要留出空間

 

 

上述內容為轉載或編者觀點,不代表裝一網意見,不承擔任何法律責任。如侵權請聯繫刪除。


相關推薦

  • 婚房裝修設計
  • 如何裝修婚房
  • 裝修婚房多少錢
  • 婚房怎麼裝修
  • 婚房怎麼裝修
  • 婚房裝修注意事項
  • 婚房裝修攻略
  • 婚房布置
  • 夏季裝修注意事項
  • 二手房做婚房
  • 十大裝修公司排名
  • 兒童房裝修
  • 兒童房裝修注意事項
  • 如何裝修兒童房
  • 裝修房子注意事項
  • 汗蒸房裝修
  • 健身房裝修
  • 瓷磚十大品牌
  • 潔具衛浴十大品牌
  • 塗料十大品牌
  • 油漆十大品牌
  • 燈飾十大品牌
  • 門口風水十大禁忌
  • 防水材料十大品牌

延伸閱讀

  • 小細節千萬不可忽視 夏季裝修六大看點
  • 婚房裝修八大禁忌 完美設計搭配顯浪漫色彩
  • “80后”必備——婚房六大風水禁忌
  • 兩年折騰婚房依舊如新 70平簡約婚房裝修大曝光
  • 六種意大利純藍 裝飾夏季完美奢華愛家
  • 現代風格婚房裝修 85㎡黑白紅的完美融合
  • 婚房裝修指南分享 教你如何裝修婚房既省心又省錢
  • 白頭偕老看家居風水 婚房裝修全攻略卧室風水需警惕
  • 用了E0級板材真的環保嗎?來看看E0級板材甲醛釋放量多少

  • 硅藻泥怎麼施工?五分鐘教你學會硅藻泥施工步驟

  • 進門鞋櫃怎麼裝修最合理?裝修網列舉圖片來說明

  • 5平米小餐廳怎麼裝修好看?裝修網分享餐廳裝修設計技巧

本站聲明:網站內容來源於裝修網http://www.zhuangyi.com/,如有侵權,請聯繫我們

【室內裝潢設計廠商推薦】

新屋購入,尋找台中室內設計師?是否可先免費估價丈量?

想要打造簡約、淡雅兼且收納空間的小資房,台中室內設計推薦哪一家?

中古屋大改造,分享台中室內設計公司隔間重新規劃,擴大實用空間!