標籤: 網頁設計

  • 【服務器】VMware Workstation Pro虛擬機搭建本地服務器CentOs7和寶塔面板(保姆式教程)

    【服務器】VMware Workstation Pro虛擬機搭建本地服務器CentOs7和寶塔面板(保姆式教程)

    內容繁多,請耐心跟着流程走,在過程中遇到問題請在下面留言(我只是小白,請專業人士噴輕點)。

    前言

    這幾天一直在複習thinkphp5.1,學習環境是phpStudy8.1,但是遇到了文件有緩存的問題(thinkphp5.1.39,修改文件后刷新沒有效果那種,需要隔幾分鐘才正常),百度也沒有解決方法,搞了幾天,一直沒解決,就氣着去折騰本地虛擬機服務器,使用阿里雲的CentOs7鏡像(本站的服務器也是阿里雲的CentOs7,運維環境也是寶塔哦),運維環境是寶塔面板

    說到寶塔就有一些故事了,買服務器的時候是想用windows server2008的,配置了IIS一段時間,搞不定,然後往nginx方向走,又搞不定,後來用windows寶塔面板,還是搞不定,不管怎麼折騰都沒辦法搞定,網站一直打不開,然後就轉CentOs7了,安裝寶塔,配置域名,訪問域名,網站就可以显示了,回想當初,不知道自己腦子抽了哪條經。

    工具

    • VMware Workstation Pro 15.5.5(虛擬機,自己去下載安裝哦,安裝步驟:下一步,我同意,修改安裝路徑,下一步,完成)

    • CentOs7(iso鏡像,推薦使用IDM或者迅雷下載,鏡像大小4.6GB上下)
      阿里雲鏡像:http://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/

    • Xshell(用於連接虛擬機,方便使用Linux命令,是一個遠程工具,右鍵就可以複製粘貼哦,還可以拉滾動條。)

    查看並保持vmnet8 ip

    本地vmnet8 ip

    查看本地的vmnet8 ip(安裝好虛擬機后才會自動生成的),打開cmd輸入ipconfig
    按win鍵+R,輸入cmd,回車就能打開cmd

    或者按win鍵+S,搜索“cmd”,也能打開“命令提示符”

    還有左下角的“田”形右鍵,然後選擇“Windows Powershell”;
    還有Git的Git Bash等等。。。。。。。。。。。。。。。。

    輸入ipconfig后,就显示下面界面

    這裏主要的內容是以太網適配器VIware Network Adapter VInet8,把細框里的IPv4地址子網掩碼默認網關(我這裏沒有,我也不知道為什麼)用文本記下來,或者不關這個窗口,後面要用到的。

    虛擬機vmnet8 ip

    虛擬機裏面的虛擬網絡需要設置一下虛擬機裏面的虛擬網絡需要處理一下虛擬機裏面的虛擬網絡需要編輯一下

    下圖標記2的地方,勾勾要去掉,去掉之後點擊NAT設置,查看虛擬機的vmnet8 ip,把紅框里的子網IP子網掩碼默認網關用文本記下來,然後點擊確定。

    現在整理一下要用文本記下來的東西

    創建虛擬機

    點擊創建新的虛擬機

    點擊自定義,下一步。

    選擇虛擬機版本,我這裡是15.5.5,下一步

    點擊稍後安裝操作系統,下一步。

    選擇Linux操作系統,現在安裝的是entOs7,所以版本選擇CentOs7 64位,下一步。

    虛擬機名稱隨意,可以中文,這裏我寫的是服務器ip名(可以重命名的),為了方便定位,不用我說都懂的啦,從左邊欄就可以看出100、101、102沒有102,哎?我跳過102了?我是把流程走一遍再碼字的,碼字的時候,服務器已經ok了,不過問題不大,下一步。。。。

    默認(本站的核心是2個,但是我100、101都是1個核心,這裏默認1個核心夠用了),本地服務器,也就自己一個人訪問,而且這裏配置是跟本機電腦配置有關的,服務器一核心足矣(只要電腦帶得動,給八核我也沒意見),下一步。

    默認(本站的內存是1GB,但是我100、101都是2GB,這裏默認1GB夠用了),同上(如果在阿里雲買服務器,我建議是1核心2GB內存哦),下一步。

    點擊使用網絡地址轉換(NAT),下一步。

    默認,下一步。

    默認,下一步。

    默認,下一步。

    默認(磁盤大小自己改,20GB實際上夠了,下面選項默認),下一步。

    默認,下一步。

    點擊自定義硬件

    點擊打印機,然後點擊移除

    跟着数字的步驟走(步驟3:選擇下載好的CentOs7鏡像,我個人是推薦放在服務器根目錄下,看我圖中的路徑,這裏不明白要留言哦)。

    點擊完成

    安裝CentOs7系統

    點擊開啟此虛擬機

    這裏說一下,默認選中的是Test this this media & install CentOS 7(白色字體是選中狀態),按方向鍵↑然後回車(如果按鍵沒效果,需要把鼠標點一下虛擬機显示屏)。

    中文在最下面,滾下去或者拉到下面才看到(下面的搜索chinese),點擊繼續

    這裏看一下自己的日期和時間是不是亞洲/上海 時區,不是的話自己進去調一下(百度)。

    點擊軟件選擇

    把紅框里的兩個勾勾點上,完成。

    點擊安裝位置

    點擊我要配置分區,完成。

    點擊點這裏自動創建他們,完成。

    默認,/boot(啟動文件),swap(交換分區,類似windows虛擬內存。看內存總大小,如果內存足夠大,這個空間就要設置很大,如果內存小於2G,那麼這個空間設置成內存的2倍大小。),/(根分區),完成。

    點擊接受更改

    點擊網絡和主機名

    打開以太網,修改主機名(也闊以使用默認的啦),然後點擊應用(點完應用后看看以太網是不是關閉了,如果關閉了再點開),完成。

    點擊開始安裝

    點擊ROOT密碼

    設置密碼,我這裏設置123456(本機的,起個好記的就好),完成(點兩次)。

    等待安裝(根據自己的需求去創建用戶吧,但是創建后可能某些操作需要root權限,不折騰就不要創了,昨晚搞CentOs8服務器差點崩潰,CentOs8是規定要創建用戶的,CentOs7和CentOs8就跟windows7和windows10一樣)。

    安裝完畢,點擊重啟。

    選擇第一個。

    我的用戶名是root,密碼123456
    輸入用戶名root,回車。

    輸入密碼123456(不可見的,輸入就行了),回車。

    噔噔噔噔,革命成功

    配置服務器靜態ip(需要配置服務器動態ip的自己百度一下)

    到了這一步,你已經回不了頭了,還學會一丟丟Linux命令,建議多去看看Linux命令

    打開目錄:cd /etc/sysconfig/network-scripts/(複製粘貼就好,這個複製粘貼有點麻煩,找不到的就手敲,正是這樣才要用Xshell工具來遠程,得先配置ip,忍一忍吧),回車。

    我這裏显示的是ifcfg-ens33,這裏要說一下,我百度過,有些是32,也有1667777,先用cd /etc/sysconfig/network-scripts/進入目錄,然後ll显示列表(ls也可以显示列表,只显示列表名)。

    編輯ifcfg-ens33:vi ifcfg-ens33(vi:進入編輯模式,文件名別敲錯。),回車。

    i 字母鍵進入編輯模式(如果不显示下圖的,肯定是vi ifcfg-ens33輸入錯了,自己檢查一下,退出vi方法:按Esc(注意左下角),輸入:q!(不保存退出))。

    看圖IPADDR=192.168.157.103NETMASK=255.255.255.0GATEWAY=192.168.157.2,這裏不建議複製粘貼了,好好敲,我擔心會亂(如果一定要複製粘貼的話,先把裏面的複製出來,加上IPADDR、NETMASK、GATEWAY再粘貼回去,不知道能不能明白我的意思,咱們還是敲吧!!!)。

    保存並退出:按Esc鍵,然後輸入:wq(必須小寫),回車。

    重啟網絡:systemctl restart network,回車。
    查看ip:ip addr, 回車。
    出現下圖就可以了,萬歲。

    配置本地的網絡(只需要配置一次)

    這是本地訪問虛擬機要配置的,文本中記下來的本機ip用這裏(因為我這沒有默認網關,所以不填)。

    使用Xshell連接虛擬機服務器(右鍵就可以複製粘貼哦)

    新建會話,這裏隧道要取消轉發X11連接到:(可能會有人奇怪,為什麼這張步驟和下面步驟在正常思路來說調換了,我其實是忘了,後面才補回來的)。

    新建會話,輸入名稱192.168.157.103(輸入名稱后,下面的主機也是同步的。),然後點擊連接。

    出現這個彈窗就說明99.99%成功了,如果沒有就說明配置出錯,大概率在上一個步驟[配置本地的網絡(點擊跳轉)][60]

    輸入用戶名root

    輸入用戶名123456

    okay。

    安裝寶塔面板

    寶塔官網:https://www.bt.cn/
    寶塔Linux面板命令大全:https://www.bt.cn/btcode.html(一定要多看)

    這裏標註幾個常用的命令(本文章用到的):cd(不用說了吧)、clear(清屏,也可以用Ctrl+L)、ll(當前列表,詳細的展示列表),ls(當前列表,簡潔的展示列表)、vi 文件名(編輯文件,按Esc::wq保存並退出、:q(退出)、:q!強制不保存並退出)。

    安裝

    安裝腳本:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
    PS:此腳本從官方複製過來的時間為2020年6月19日,僅限CentOs系統,如果距離已久,請到官網複製

    右鍵隨意複製粘貼,Xshell工具的好處(佛主:https://www.kancloud.cn/jiangguowu/kfjsdkfjskd/1076752)。

    DO you want to install Bt Panel tothe /www directory now?(y/n):(現在是否要將Bt面板安裝到/www目錄?(是/否):)。
    按y,回車。

    寶塔面板訪問地址:http://192.168.157.103:8888/7a81976f119.137.3.117換成192.168.157.103自己設置的服務器ip(別傻了,只有本地才能訪問)。

    username: yq0g4uxd
    password: c937d4a9

    是闊一。

    點擊一鍵安裝(也可以不選擇,然後自己去左邊的軟件商店自己選擇安裝)。

    建議設置一下安全入口面板用戶面板密碼(只能設置8位數,為了方便,我強行使用命令行將密碼設置為123456,命令:cd /www/server/panel && python tools.py panel 123456,更多的寶塔命令請到寶塔Linux面板命令大全查看:https://www.bt.cn/btcode.html)

    報錯、錯誤、問題大雜燴(此目錄處理教程中遇到的問題,請在下面留言)

    安裝寶塔 -> 14: curl#6 – “Could not resolve host: mirrorlist.centos.org; 未知的錯誤

    打開:vi /etc/resolv.conf
    加入:nameserver 8.8.8.8nameserver 8.8.4.4

    完美結束!!!

    圖片太多,碼字的時候都卡了,大概68張圖片,感覺還是錄製視頻好啊

    如果有錯誤的地方,歡迎糾正。

    我已經想好下一篇的文章了,出一個寶塔面板使用教程。

    原文鏈接:https://blog.langting.top/archives/117.html

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

    【其他文章推薦】

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

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

    ※想知道最厲害的網頁設計公司"嚨底家"!

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

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

  • 一起玩轉微服務(6)——通信協議如何統一

    一起玩轉微服務(6)——通信協議如何統一

    一、接口調用

    接口調用如果是遠程調用,那麼就構成了簡單的分佈式。最簡單的遠程接口實現方式是web service或rest。當然一個合理的分佈式應用不僅僅是遠程接口調用這麼簡單。還需要有負載均衡、緩存等功能。最簡單實現分佈式的技術是Rest接口,因為Rest接口可以使用現存的各種服務器,比如負載均衡服務器和緩存服務器來實現負載均衡和緩存功能。

    二、統一通信協議

    關於通信協議,不同的公司有不同的選擇,但是建議同一公司內部使用統一的通信協議,比較典型的有grpc和brpc。

    1. gRPC簡介

    gRPC是Google發布的基於HTTP 2.0傳輸層協議承載的高性能開源軟件框架,提供了支持多種編程語言的、對網絡設備進行配置和納管的方法。由於是開源框架,通信的雙方可以進行二次開發,所以客戶端和服務器端之間的通信會更加專註於業務層面的內容,減少了對由gRPC框架實現的底層通信的關注。如下圖,DATA部分即業務層面內容,下面所有的信息都由gRPC進行封裝。

     

     

    grpc是一個高性能、開源和通用的 RPC 框架,面向移動和 HTTP/2 設計。目前提供 C、Java 和 Go 語言版本,分別是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.
    grpc基於 HTTP/2 標準設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多復用請求等特。這些特性使得其在移動設備上表現更好,更省電和節省空間佔用。
    關於具體gRPC報文的結構,可以參考下圖:

     

     

    下面展示一下gRPC的交互過程

     

     

    1. 交換機在開啟gRPC功能后充當gRPC客戶端的角色,採集服務器充當gRPC服務器角色;
    2. 交換機會根據訂閱的事件構建對應數據的格式(GPB/JSON),通過Protocol Buffers進行編寫proto文件,交換機與服務器建立gRPC通道,通過gRPC協議向服務器發送請求消息;
    3. 服務器收到請求消息后,服務器會通過Protocol Buffers解譯proto文件,還原出最先定義好格式的數據結構,進行業務處理;
    4. 數據梳理完后,服務器需要使用Protocol Buffers重編譯應答數據,通過gRPC協議向交換機發送應答消息;
    5. 交換機收到應答消息后,結束本次的gRPC交互。

    上圖展示的是gRPC交互過程的具體流程,這也是Telemetry觸發方式其中之一,稱為Dial-out模式。簡單地說,gRPC就是在客戶端和服務器端開啟gRPC功能后建立連接,將設備上配置的訂閱數據推送給服務器端。

    2. brpc

    與grpc類似,brpc源自百度,目前支撐百度內部大約 75 萬個同時在線的實例。
    其實基於以上的幾種選擇都能夠完成高效的開發,團隊內部使用統一的標準,這樣更有利於模塊化和統一標準。
    服務間的通信是通過輕量級的web服務,使用同步的REST API進行通信。在實際的項目應用中,一般推薦在查詢的時候使用同步機制,在增刪改使用異步的方式,結合消息隊列來實現數據的操作,以保證最終的數據一致性。
    具體可以使用BRPC做如下

    1. 搭建能在一個端口支持多協議的服務, 或訪問各種服務
    2. Server能同步或異步處理請求
    3. Client支持同步、異步、半同步,或使用組合channels簡化複雜的分庫或併發訪問
    4. 通過http界面調試服務, 使用cpu, heap, contention profilers
    5. 獲得更好的延時和吞吐
    6. 把你組織中使用的協議快速地加入brpc,或定製各類組件, 包括命名服務 (dns, zk, etcd), 負載均衡 (rr, random, consistent hashing)

    三、rest API

     

     

    REST API 應為創建、檢索、更新和刪除操作使用標準 HTTP 動詞,而且應特別注意操作是否冪等。
    POST 操作可用於創建資源。POST 操作的明顯特徵是它不是冪等的。舉例而言,如果使用 POST 請求創建資源,而且啟動該請求多次,那麼每次調用后都會創建一個新的唯一資源。
    GET 操作必須是冪等的且不會產生意外結果。具體來講,帶有查詢參數的 GET 請求不應用於更改或更新信息(而應使用 POST、PUT 或 PATCH)。
    PUT 操作可用於更新資源。PUT 操作通常包含要更新的資源的完整副本,使該操作具有冪等性。
    PATCH 操作允許對資源執行部分更新。它們不一定是冪等的,具體取決於如何指定增量並應用到資源上。例如,如果一個 PATCH 操作表明一個值應從 A 改為 B,那麼它就是冪等的。如果它已啟動多次而且值已是 B,則沒有任何效果。對 PATCH 操作的支持仍不一致。例如,Java EE7 中的 JAX-RS 中沒有 @PATCH 註釋。
    DELETE 操作用於刪除資源。刪除操作是冪等的,因為資源只能刪除一次。但是,返回代碼不同,因為第一次操作將成功 (200),而後續調用不會找到資源 (204)。

     

    四、你們怎麼解決

    不同項目組之間使用的語言有可能不同,框架有可能不同,同樣的,通信協議有可能不同,你們怎麼解決的呢?

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

    【其他文章推薦】

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

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

    ※超省錢租車方案

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

    網頁設計最專業,超強功能平台可客製化

  • 迎接Model 3試產,Tesla發股債籌資11.5億美元

    迎接Model 3試產,Tesla發股債籌資11.5億美元

    美國電動車大廠特斯拉(Tesla)15 日公布最新增資計畫,由於即將進入Model 3 電動車的試產階段,預計將透過發行股票和優先債券融資11.5 億美元(約355 億台幣)。

    華爾街日報(Wall Street Journal)報導,特斯拉預計將發行2.5 億美元普通股及7.5 億美元可轉換優先債券來籌措資金,執行長馬斯克(Elon Musk)本人也將認購2,500 美元的普通股,所得資金將用來強化資產負債表,並降低近期業務擴張可能帶來的風險。

    特斯拉表示,2016 年共生產了8.4 萬輛汽車,未來也將持續投資、創造產品並提升產能,希望至2018 年底總產量能達到50 萬輛,2020 年則達到100 萬輛。在公布計畫後,特斯拉盤後股價上漲2.3% 至261.5 美元。

    報導指出,不僅是汽車,馬斯克也計畫將電動車運用在更多車款上,如公共汽車及載貨卡車;隨著去年收購SolarCity Corp,馬斯克希望未來將特斯拉打造成一家永續能源公司,提供包含電動車、電池及太陽能發電在內相關產品。

    AutoCar 網站則提到,除了今年將試產的Model 3 電動車,特斯拉也已經在著手進行另一部迷你SUV 車款Model Y 的開發,相對於特斯拉其他車款來說,Model Y 和Model 3 一樣將會相對平價,市場估計Model 3 售價約為3.7 萬美元(約113 萬台幣),考量到迷你SUV 的機能與客群的不同,Model Y 的售價可能將再比Model 3 車款高上數千美元。

     

    ▲由 Autocar 製作的 Model Y 概念圖

    (合作媒體:。首圖來源:Tesla)

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

    【其他文章推薦】

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

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

    ※台北網頁設計公司全省服務真心推薦

    ※想知道最厲害的網頁設計公司"嚨底家"!

    ※推薦評價好的iphone維修中心

  • 樂視傳財務危機,將以2.6億美元賣矽谷土地

    樂視傳財務危機,將以2.6億美元賣矽谷土地

    中國樂視控股(LeEco Holdings)原本野心勃勃,要成為下一個中國版的特斯拉(Tesla Inc.),但最近卻陷入資金短缺困境,剛剛外媒傳出,樂視打算拋售不到一年前從雅虎(Yahoo Inc.)手中購入的矽谷土地,以解燃眉之急。

    路透社17日引述未具名消息人士報導(見此),樂視為了償還對供應商與商業夥伴欠下的大筆債務,決定以2.6億美元的代價,把矽谷土地賣給沒沒無名的中國地產開發商正中置業集團(Genzon Group),價碼比去(2016)年6月購入時多出1,000萬美元。正中置業則確認,的確在跟樂視洽談購買土地的相關事宜。

    消息並透露,樂視在矽谷的辦公室大舉裁員,估計員工數量已經大砍一半以上。

    樂視執行長賈躍亭甫於去年11月在一份給員工的信中坦承,公司因為擴張速度過快,不幸陷入資金短缺困境。然而,賈躍亭在寫出這封信函的一個月前,才剛在舊金山宣布要在矽谷打造第一座北美總部;他當時說,北美總部估計會聘用12,000名員工。

    賈躍亭曾在1月說,樂視的財務問題,可在3-4個月內解決。在他說完不久,地產商融創中國隨即對樂視投資了22億美元,但投資的對象卻是樂視的娛樂部門,而非燒錢嚴重的汽車製造部門。樂視在美國是與Faraday Future攜手開發豪華電動車,Faraday是賈躍亭出資控股的新創公司。

    據Business Insider 1月的採訪發現,Faraday已然在崩解之中,從去年春季後,已有超過半打的資深主管離職,全球執行長更在重要消費電子展(CES)前夕打包走人。

    知情人士形容Faraday組織結構、中美兩地的營運一團混亂,但當前最急迫的是現金不夠用。如果CES展後未能引入新資金,Faraday撐不過五月應該就會玩完。Faraday金主樂視對此表示全屬臆測,但拒絕進一步做評論。

    (本文內容由授權使用。圖片出處:法拉第未來)

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

    【其他文章推薦】

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

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

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

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

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

    ※超省錢租車方案

  • Gogoro升級iQ System 智慧系統3.1,搭載韌體升級FOTA新功能

    Gogoro升級iQ System 智慧系統3.1,搭載韌體升級FOTA新功能

    Gogoro Smartscooter 智慧雙輪的車主們,將能再度感受到,他們擁有的不僅是一台電動機車,而是一部不斷進化的雙輪電腦!Gogoro 於16 日正式推出搭載最新功能的「iQ System 智慧系統3.1」,包含空中韌體升級FOTA(Firmware-Over-The-Air)服務。這項科技可讓車主自行利用智慧型手機及Gogoro App 進行遠程升級,只要有穩定的網路訊號,車主都可以DIY 自行操作,無需再花時間返回服務中心。

    Gogoro 產品企劃經理王光祖表示:「Gogoro 擁有最先進、穩定、安全的技術, 也是目前台灣二輪車市場中,唯一運用空中韌體升級FOTA 的品牌。Gogoro 的車主不但可以透過韌體更新,感受智慧雙輪的聰明程度,更可隨著技術與功能的改進而持續升級,時時感受車子越騎越新的快感。」

    這是繼Gogoro 去年11月初發表「iQ System 智慧系統3.0」後,更進一步的升級版本。重點在於提供更直覺、方便、有感的使用體驗,包括更長時間的高速騎乘,更充沛的爬坡動力,以及從容地面對天氣變化,是第一台可以針對嚴寒或酷熱的氣候有動態調配溫度保護機制的二輪機車。其中在爬坡動力的改進,目前已經有車主在臉書分享經驗。游先生提到:「一路到山頂都是以前從來沒有過的充沛動力感!」網友Alex Yeh 則表示:「車速感覺不會掉太多,還是會有充沛的動力上山!」

    此外,因應部分Gogoro 車主曾發生不小心將手機或智慧鑰匙鎖在置物廂中的問題,之前在「iQ System 智慧系統3.0」時,便已在Gogoro App 中增加「車廂開關設定」的選項,置物箱打開後若在90 秒內關上時,就可以自動解鎖。 此次更新則更加優化了這個貼心的功能,即使在交換電池後,只要在放回電池的90 秒內關上座墊,一樣會自動解鎖,不需再次掏出智慧鑰匙即可上路,讓交換電池的過程更加流暢。

    (合作媒體:。圖片出處:Gogoro)

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

    【其他文章推薦】

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

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

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

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

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

    網頁設計最專業,超強功能平台可客製化

  • 電動車商機大,Panasonic再收購Ficosa

    電動車商機大,Panasonic再收購Ficosa

     

    Panasonic 21日發布新聞稿宣布,將追加收購西班牙汽車零件大廠Ficosa International SA 20%股權,目標在今年4月把持股提高至69%、將Ficosa收編為旗下子公司行列,以期望藉由加深與Ficosa的合作,強化車用電子鏡、先進駕駛輔助系統(ADAS)等車用事業。Panasonic於2015年6月取得Ficosa 49%股權。

    Ficosa為全球第3大車用門鏡商,2015年營收為11億歐元,並計畫於2017年開賣與Panasonic攜手研發的新型車鏡。

    車用相關事業被Panasonic視為成長領域事業,Panasonic計畫在2018年度將車用相關事業營收提高至2兆日圓、將較2015年度的1.3兆日圓大增5成。

    路透社報導,Panasonic社長津賀一宏1月接受專訪時表示,「2兆日圓不是一個頂點,應該將目光瞄準在之後的2.5兆日圓或更高的目標上」。

    根據嘉實XQ全球贏家系統報價,截至台北時間22日13點18分為止,Panasonic大跌2.85%至1,209.5日圓,創約1個月來(2月10日以來)新低水準。

    日經新聞於去年12月5日報導,IT、電機大廠為了搶食自動駕駛、電動車(EV)普及所將引發的商機,正積極進行併購,其中日本Panasonic將收購歐洲車燈大廠ZKW、進軍車燈市場。據悉,Panasonic、ZKW已就收購進入最終協商階段,預估收購額最高將達1,000億日圓的規模。

    (本文內容由授權使用。圖片出處:Ficosa)

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

    【其他文章推薦】

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

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

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

    南投搬家公司費用需注意的眉眉角角,別等搬了再說!

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

  • 大摩:特斯拉Model 3自駕系統車禍降低90%

    大摩:特斯拉Model 3自駕系統車禍降低90%

    電動車大廠特斯拉(Tesla Inc.)要價35,000美元的平價車種「Model 3」預計2017年稍晚就能開賣,摩根士丹利(通稱大摩)認為,這款電動車的安全度會是一般車輛的10倍之多,發生死亡車禍的機率有望比其他車種低90%。

    根據網友最近在YouTube貼出影片,自駕系統「Autopilot」能提前好幾步預測到車禍。()

    MarketWatch、Business Insider等外電報導,大摩分析師Adam Jonas 23日發表研究報告指出,特斯拉為每台車安裝超級電腦後,車子安全性提升至其他車輛兩倍已經不夠看,他相信Model 3的安全度會是其他車輛的十倍之多,這會讓死亡車禍的發生機會降低90%。

    Jonas認為,缺少特斯拉駕車輔助科技的二手車價值將因而猛掉,未來甚至會被禁止上路。特斯拉蒐集資料的能力超群,還能將先進的安全輔助技術應用到電動車,還未推出類似科技的傳統車廠,競爭力堪虞。

    假如Model 3大獲成功、數百萬輛擁有自駕功能的車輛上路,那麼對行車安全的統計資料應有影響,這會凸顯其科技的優異程度,並迫使主管機關下令要求所有車輛都必須配備類似的系統。

    特斯拉23日終場下跌0.09%、收254.78美元;年初迄今已大漲19.23%。

    不過,最近有人仔細挖掘特斯拉向美國證管會(SEC)呈交的最新10-K報告,發現該公司已在內文悄悄坦承,Model 3 Beta版的原型車,至今尚無蹤影。

    美國權威汽車雜誌《Car and Driver》記者Anton Wahlman 3月2日報導(),特斯拉在3月1日發布的10-K報告中表示,已在測試Model 3的設計和製程時開發出多種版本,可作為Model 3 Beta版原型車的候選選項;在董事會選定要用哪一款作為Beta版的原型車之後,特斯拉下一階段的工作里程碑就能順利達陣。

    Wahlman認為,這意味著特斯拉在該份公告涵蓋的期間內(截至2016年12月31日為止),仍舊還未完成Model 3 Beta版的原型車。不過,這份文件是在2017年3月1日發布,這或許也代表至3月初為止,董事會還未對要用哪款原型車拍板定案。

      (本文內容由授權使用。圖片出處:Public Domain)

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

    【其他文章推薦】

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

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

    ※想知道最厲害的網頁設計公司"嚨底家"!

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

    ※產品缺大量曝光嗎?你需要的是一流包裝設計!

  • 中國新能源汽車補貼影響,比亞迪估Q1淨利將下滑

    中國新能源汽車補貼影響,比亞迪估Q1淨利將下滑

    比亞迪於28日晚間11點整公告表示,受新能源汽車補貼政策變動影響、產業短期會有所調整,2017年第1季集團新能源汽車業務也將承受一定壓力、預計新能源汽車銷量和盈利將有所下滑。此外,比亞迪也提到太陽能市場競爭依然激烈、產品價格壓力仍然較大。

    比亞迪表示,2016年底四部委發表的新能源汽車補貼新政將會對新能源汽車產業產生較大影響。由於2017年中國中央政府補貼額度比2016年降低20%、地方財政補貼不得超過中央財政單車補貼額的50%,一些規模較小的廠商及沒有實際競爭力的廠商可能會逐漸退出市場,整個市場的集中度將會進一步提升、龍頭企業將顯著受益,最終將促進新能源行業的持續健康發展。

    比亞迪預估2017年1-3月淨利將年減23.59-35.35%至5.5-6.5億元(人民幣)。

    比亞迪股份29日受上述消息衝擊而大幅走低。截至台北時間29日上午11時10分為止,比亞迪下跌2.81%至43.20港元;開盤迄今最低跌至42.85港元、創2月6日以來新低。

    股神巴菲特(Warren Buffett)掌管的波克夏海瑟威(Berkshire Hathaway)在2008年取得比亞迪10%股權。

    (本文內容由授權使用。圖片來源:比亞迪)

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

    【其他文章推薦】

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

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

    ※超省錢租車方案

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

    網頁設計最專業,超強功能平台可客製化

  • Task.Result跟 Task.GetAwaiter.GetResult()相同嗎?怎麼選?

    前幾天在用線程池執行一些任務時運到一種情形,就是回調方法中使用到了異步方法,但是回調方法貌似不支持async await的寫法。這時候我應該如何處理呢?是使用Task.Result來獲取返回結果,還是使用GetAwaiter.GetResult()呢?本文就來探討下吧。

    作者:依樂祝

    原文地址:https://www.cnblogs.com/yilezhu/p/13168337.html

    這裏先上我這種場景的偽代碼:

    ThreadPool.QueueUserWorkItem(ExcuteScanProcess, node);
    

    ExcuteScanProcess這個回調方法中

    private void ExcuteScanProcess(object state)
    {
        ……其他處理……
        repository.UpdateAsync(node).ConfigureAwait(false).GetAwaiter().GetResult();
        ……其他處理……
    }
    

    如上圖所示repository.UpdateAsync(node)屬於一部方法,這時候我想要等待它異步執行完成之後再執行後續的邏輯。這時候我有兩種選擇,是直接

    repository.UpdateAsync(node).ConfigureAwait(false).GetAwaiter().GetResult();
    

    好呢,還是

    repository.UpdateAsync(node).ConfigureAwait(false).Result;
    

    好呢?

    為此我查找了相關的資料,對它倆的區別做一個簡單的總結:

    其實這兩個使用方式是差不多的。不過,還是有一點小小的區別的:如果任務失敗,Task.GetAwaiter().GetResult()會直接拋出異常,而Task.Result則會把異常包裝在AggregateException中。從這個角度說Task.GetAwaiter().GetResult()要優於Task.Result。畢竟它少了異常的包裝操作,即直接拋出異常,而不是把異常包裝在AggregateException中。

    下面的引言解釋了為什麼Task.Result不僅僅包含Task.GetAwaiter().GetResult()(由於“非常高的兼容性”)的異常傳播行為。

    如前所述,我們有一個非常高的兼容性標準,因此我們避免了改動。因此,Task.Wait保留了始終包裝的原始行為。但是,您可能會發現自己處在某些高級情況下,這些情況下您想要的行為類似於所採用的同步阻塞Task.Wait,但是您希望將原始異常展開而不是傳播,而不是將其封裝在AggregateException中。為此,您可以直接定位任務的等待者。當您編寫“ await task;”時,編譯器Task.GetAwaiter()會將其轉換為方法的用法,這將返回具有GetResult()方法的實例。當用於有故障的任務時,GetResult()將傳播原始異常(這是“ await task;” 如何獲得其行為)。因此,您可以使用“task.GetAwaiter().GetResult()如果您想直接調用此傳播邏輯。

    https://blogs.msdn.microsoft.com/pfxteam/2011/09/28/task-exception-handling-in-net-4-5/

    GetResult”實際上表示“檢查任務是否有錯誤”

    通常,我會儘力避免對異步任務進行同步阻塞。但是,在少數情況下,我確實違反了該準則。在那些罕見的情況下,我的首選方法是GetAwaiter().GetResult()因為它保留任務異常,而不是將它們包裝在中AggregateException

    總結

    通過上述內容的闡述,因此在那些必須對異步任務進行同步阻塞的場景中,我選擇使用GetAwaiter().GetResult()

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

    【其他文章推薦】

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

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

    ※台北網頁設計公司全省服務真心推薦

    ※想知道最厲害的網頁設計公司"嚨底家"!

    ※推薦評價好的iphone維修中心

  • mysql大表在不停機的情況下增加字段該怎麼處理

    mysql大表在不停機的情況下增加字段該怎麼處理

    MySQL中給一張千萬甚至更大量級的表添加字段一直是比較頭疼的問題,遇到此情況通常該如果處理?本文通過常見的三種場景進行案例說明。

    1、 環境準備

    數據庫版本: 5.7.25-28(Percona 分支)

    服務器配置:  3台centos 7虛擬機,配置均為2CPU  2G內存

    數據庫架構: 1主2從的MHA架構(為了方便主從切換場景的演示,如開啟GTID,則兩節點即可),關於MHA搭建可參考此文 MySQL高可用之MHA集群部署

    準備測試表:  創建一張2kw記錄的表,快速創建的方法可以參考快速創建連續數

    本次對存儲過程稍作修改,多添加幾個字段,存儲過程如下:

    DELIMITER $$
    CREATE  PROCEDURE `sp_createNum`(cnt INT )
    BEGIN
        DECLARE i INT  DEFAULT 1;
        DROP TABLE  if exists  tb_add_columns;
        CREATE TABLE if not exists tb_add_columns(id int primary key,col1 int,col2 varchar(32));
        INSERT INTO tb_add_columns(id,col1,col2) SELECT i  as id ,i%7 as col1,md5(i) as col2;
        
        WHILE i < cnt DO
          BEGIN
            INSERT INTO tb_add_columns(id,col1,col2) SELECT id + i   as id ,( id + i) %7 as col1,md5( id + i) as col2  FROM tb_add_columns WHERE id <=cnt - i ;
            SET i = i*2;
          END;
        END WHILE;
    END$$
    DELIMITER ;

    調用存儲過程,完成測試表及測試數據的創建。

    mysql> call sp_createNum(20000000);

     2.  直接添加字段

    使用場景: 在系統不繁忙或者該表訪問不多的情況下,如符合ONLINE DDL的情況下,可以直接添加。

    模擬場景: 創建一個測試腳本,每10s訪問該表隨機一條記錄,然後給該表添加字段

    訪問腳本如下

    #!/bin/bash
    # gjc
    
    for i in  {1..1000000000}                    # 訪問次數1000000000,按需調整即可
    do
        id=$RANDOM                          #生成隨機數    
        mysql -uroot -p'123456' --socket=/data/mysql3306/tmp/mysql.sock  -e "select  a.*,now() from  testdb.tb_add_columns a where id = "$id     # 訪問數據
        sleep 10                            #  暫停10s
    done

    運行腳本

    sh  test.sh

     給表添加字段

    mysql> alter table  testdb.tb_add_columns add col3 int;

      此時,訪問正常。

     附ONLINE DDL的場景如下,建議DBA們必須弄清楚

    (圖片轉載於https://blog.csdn.net/finalkof1983/article/details/88355314)

     

     (圖片轉載於https://blog.csdn.net/finalkof1983/article/details/88355314)

    3.   使用工具在線添加

    雖然Online DDL添加字段時,表依舊可以讀寫,但是生產環境使用場景中對大表操作使用最多的還是使用工具pt-osc或gh-ost添加。

    本文主要介紹 pt-osc(pt-online-schema-change) 來添加字段,該命令是Percona Toolkit工具中的使用頻率最高的一種

    關於Percona Toolkit的安裝及主要使用可以參考  五分鐘學會Percona Toolkit 安裝及使用

    添加字段

    root@mha1 ~]# pt-online-schema-change --alter "ADD COLUMN  col4  int" h=localhost,P=3306,p=123456,u=root,D=testdb,t=tb_add_columns,S=/data/mysql3306/tmp/mysql.sock  --charset=utf8mb4 --execute

    主要過程如下:

    1> Cannot connect to A=utf8mb4,P=3306,S=/data/mysql3306/tmp/mysql.sock,h=192.168.28.132,p=...,u=root
    1> Cannot connect to A=utf8mb4,P=3306,S=/data/mysql3306/tmp/mysql.sock,h=192.168.28.131,p=...,u=root
    No slaves found.  See --recursion-method if host mha1 has slaves.  #  因為使用的是socket方式連接數據庫 且未配置root遠程連接賬號,所以會有此提示
    
    # A software update is available:
    Operation, tries, wait:
      analyze_table, 10, 1                                     
      copy_rows, 10, 0.25                                       
      create_triggers, 10, 1                      
      drop_triggers, 10, 1
      swap_tables, 10, 1
      update_foreign_keys, 10, 1
    Altering `testdb`.`tb_add_columns`...
    Creating new table...                                     #  創建中間表,表名為"_原表名_new"
    Created new table testdb._tb_add_columns_new OK.           
    Altering new table...                                     #  修改表,也就是在新表上添加字段,因新表無數據,因此很快加完
    Altered `testdb`.`_tb_add_columns_new` OK.                  
    2020-06-20T12:23:43 Creating triggers...                  #  創建觸發器,用於在原表拷貝到新表的過程中原表有數據的變動(新增、修改、刪除)時,也會自動同步至新表中
    2020-06-20T12:23:43 Created triggers OK.
    2020-06-20T12:23:43 Copying approximately 19920500 rows... # 拷貝數據,數據庫量是統計信息里的,不準確
    Copying `testdb`.`tb_add_columns`:  11% 03:50 remain       #  分批拷貝數據(根據表的size切分每批拷貝多少數據),拷貝過程中可以用show processlist看到對應的sql
    Copying `testdb`.`tb_add_columns`:  22% 03:22 remain
    Copying `testdb`.`tb_add_columns`:  32% 03:10 remain
    Copying `testdb`.`tb_add_columns`:  42% 02:45 remain
    Copying `testdb`.`tb_add_columns`:  51% 02:21 remain
    Copying `testdb`.`tb_add_columns`:  62% 01:48 remain
    Copying `testdb`.`tb_add_columns`:  72% 01:21 remain
    Copying `testdb`.`tb_add_columns`:  81% 00:53 remain
    Copying `testdb`.`tb_add_columns`:  91% 00:24 remain
    2020-06-20T12:28:40 Copied rows OK.                       # 拷貝數據完成
    2020-06-20T12:28:40 Analyzing new table...                # 優化新表
    2020-06-20T12:28:40 Swapping tables...                    # 交換表名,將原表改為"_原表名_old",然後把新表表名改為原表名
    2020-06-20T12:28:41 Swapped original and new tables OK.    
    2020-06-20T12:28:41 Dropping old table...                 #  刪除舊錶(也可以添加參數不刪除舊錶)
    2020-06-20T12:28:41 Dropped old table `testdb`.`_tb_add_columns_old` OK.
    2020-06-20T12:28:41 Dropping triggers...                  # 刪除觸發器
    2020-06-20T12:28:41 Dropped triggers OK.
    Successfully altered `testdb`.`tb_add_columns`.            # 完成

    修改過程中,讀寫均不受影響,大家可以寫個程序包含讀寫的

    注:  無論是直接添加字段還是用pt-osc添加字段,首先都得拿到該表的元數據鎖,然後才能添加(包括pt-osc在創建觸發器和最後交換表名時都涉及),因此,如果一張表是熱表,讀寫特別頻繁或者添加時被其他會話佔用,則無法添加。

    例如: 鎖住一條記錄

    用pt-osc添加字段,會發現一直卡在創建觸發器那一步

     此時查看對應的SQL正在等待獲取元數據鎖

    換成直接添加也一樣,例如

     當達到鎖等待后將會報錯放棄添加字段

    mysql> alter table  testdb.tb_add_columns add col5 int;
    ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

    對於此情況,需等待系統不繁忙情況下添加,或者使用後續的在從庫創建再進行主從切換

    4  先在從庫修改,再進行主從切換

    使用場景: 如果遇到上例中一張表數據量大且是熱表(讀寫特別頻繁),則可以考慮先在從庫添加,再進行主從切換,切換后再將其他幾個節點上添加字段。

    先在從庫添加(本文在備選節點添加)

    mysql> alter table  testdb.tb_add_columns add col5 int;
    Query OK, 0 rows affected (1 min 1.91 sec)
    Records: 0  Duplicates: 0  Warnings: 0

    進行主從切換

    使用MHA腳本進行在線切換

    masterha_master_switch  --conf=/etc/masterha/app1.conf --master_state=alive  --orig_master_is_new_slave --new_master_host=192.168.28.131  --new_master_port=3306

    切換完成后再對其他節點添加字段

    /* 原主庫上添加192.168.28.128  */
    mysql>  alter table  testdb.tb_add_columns add col5 int;
    Query OK, 0 rows affected (1 min 8.36 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    /* 另一個從庫上添加192.168.28.132  */
    mysql>  alter table  testdb.tb_add_columns add col5 int;
    Query OK, 0 rows affected (1 min 8.64 sec)
    Records: 0  Duplicates: 0  Warnings: 0

    這樣就完成了字段添加。

    5.  小結

    生產環境MySQL添加或修改字段主要通過如下三種方式進行,實際使用中還有很多注意事項,大家要多多總結。

    • 直接添加

    如果該表讀寫不頻繁,數據量較小(通常1G以內或百萬以內),直接添加即可(可以了解一下online ddl的知識)

    •  使用pt_osc添加

    如果表較大 但是讀寫不是太大,且想盡量不影響原表的讀寫,可以用percona tools進行添加,相當於新建一張添加了字段的新表,再降原表的數據複製到新表中,複製歷史數據期間的數據也會同步至新表,最後刪除原表,將新表重命名為原表表名,實現字段添加

    •  先在從庫添加 再進行主從切換

    如果一張表數據量大且是熱表(讀寫特別頻繁),則可以考慮先在從庫添加,再進行主從切換,切換后再將其他幾個節點上添加字段

     

     

     

     

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

    【其他文章推薦】

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

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

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

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

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

    ※超省錢租車方案