2020年10月15日木曜日

Oilbuy更換機油體驗

某天路過,才發現新竹也有自助換機油的機器了。馬上列入下次換機油的待辦事項。

終於來到第一次體驗的時機了。停車方向建議是機油口靠機器的方向。機油槍的線畢竟沒有很長。


 

機器下方的量筒。左側的管線裡面的油比較黑,猜測是抽油的量尺。

右側就是新油的量筒。 猜完之後才發現標尺下方有標示... XD

這樣做可以知道抽跟放了多少進去。機車行的老闆提醒過這台老朋友開始會吃機油了(只抽了400cc出來?),建議減少更換的里程數。所以這次約600km左右來換看看會吃多少。


 

預設畫面。下方有提示整個流程。影片已經有預習過,有需要的話可以在現場看一次。反正這時間應該沒人在等,可以慢慢體驗...

第一步是機油量的選擇,並付錢。整個螢幕是觸控的,點選左方的黃色開始鈕就會動作。

 

會提醒鈴木牌跟幾台指定車款不能用這台機器。原因就不清楚了...
猜測是機油箱設計不能用抽油的方式更換。
另外,二行程的車也不行(廢話)
只換好油的車主,也不是服務目標。
剛買的新車因為機械磨合,不用漏油的方法換,可能會有雜質殘留在引擎內,也不建議(過保之後再考慮吧)


忘記拍選擇機油量的畫面。有兩個選項:700cc($90)跟900cc($100)

還有提供車種查詢。國民車選擇700cc就對了。

 

選擇機油量之後,就會出現付款畫面。這台機器只能用悠遊卡跟一卡通付款。


 付款畫面的上半部還會顯示油品的檢驗規格。應該不會比車行的最便宜機油差吧?


刷卡感應之後就開始換油流程。雖然語音會一直重複,不過似乎沒有時間限制,可以慢慢操作。


 

熄火立中柱,拔開機油尺(機器上面有另一隻轉開機油尺的工具,畢竟有時候會鎖很緊用手轉不開。可以參考教學影片)
插入換油槍。抽油跟加油都用同一隻油槍,所以插到底之後就不要再拔出來。
(之前去換油的店家所用的機器,抽油跟加油的管子是不同隻,以為會分開)
正在操作的這台機器的油槍有彈簧,所以可能要前後動或是稍微偏一下看看有沒有真的到底。
另外,螢幕上有顯示建議把車尾下壓,油會抽得比較乾淨,只是這台車要下壓車尾有點困難...

都做完之後,點選螢幕的「下一步」,就會出現這個畫面。這時就按下油槍上面的按鈕吧。


然後就會看到舊油跟新油的量筒開始注油,大約會抽120秒,然後注入90秒。

整個換油流程的量筒變化狀況請參考影片


這次抽了約800cc出來,算是正常油耗。可能是之前騎比較快,導致機油吃比較多吧?

等到提醒換油結束,就可以抽油槍放好,鎖上油尺(建議順便檢查油量),上路。

馬上就有剛換完機油的震動減少跟順暢感了。看看這個感覺能夠撐多久...

畢竟是比跑車行便宜很多(車行至少$150),之後可能就要換齒輪油的時候再跑車行吧。
其實換油最大的問題不是更換的流程,而是剩油的處理...不能亂丟啊。


2020年9月9日水曜日

[Web開發]angular 9 筆記

之前是使用angularJS寫前端。
angularJS有個最大的罩門就是不適合做uglify。對於程式碼的保護可以說是沒有。
整個模組也有點大,網頁啟動的時間偏長。

anguar 9 在評估之後,有以下幾點符合需求:
  • 有自己的編譯工具,可以滿足minify / uglify / tree shaking等等減少含入程式碼或是模組的能力
  • 導入typescript,可以撰寫型別較為嚴謹的設計(也可以不使用)
  • lazy-loading頁面,減少啟動頁面到出現讀取畫面的所需時間跟資料量,也可以減少編譯時間。個人認為是很大的優勢。把頁面分開撰寫,編譯的時候只會編譯有改到的頁面。
  • 預設可以使用sass/scss (因此導入bootstrap4也可以加上自定義的顏色組合)
  • 模組化設計

於是就開始學習使用angular 9了。希望以下的資訊可以幫助到各位。
以下簡稱為angular。

前置作業:
建立node.js的開發環境。  到 https://nodejs.org/ 下載安裝包並安裝在作業系統內。
筆者是使用MAC OSX為開發環境,以下的動作也都是以OSX為主。

安裝angular開發環境:
npm install -g @angular/cli

不知所措的第一步:建立全新的project。angular因為需要編譯,其實開發環境是相對複雜的。之後再來研究製作出來的檔案。
在想要建立project的路徑之下執行:
ng new <project name>
本文使用「angularTest」作為project名稱。

「ng」是angular開發環境的執行指令。在angular開發環境安裝成功後應該就可以使用。若是不行的話代表angular的開發環境沒有安裝正確。

接著會有兩個選項需要選擇:
? Would you like to add Angular routing? Yes
angular是靠routing來實作lazy-loading,基本上是選yes。選No的話之後要使用routing的話,就要自己加上routing的設計,會比較麻煩些。選擇yes,就算要製作的網頁只有一頁,也沒有使用上的問題。


? Which stylesheet format would you like to use?
  CSS
SCSS   [ https://sass-lang.com/documentation/syntax#scss                ]
  Sass   [ https://sass-lang.com/documentation/syntax#the-indented-syntax ]
  Less   [ http://lesscss.org                                             ]
  Stylus [ http://stylus-lang.com                                         ]
筆者是使用Scss。為了可以比較簡單的客製bootstrap4。

接著就會建立一堆檔案,跟安裝angular會用到的node_modules。時間很長。

CREATE angularTest/README.md (1028 bytes)
整個project的解說檔。其他的開發者拿到這個程式包的時候第一個會看的檔案。請自行撰寫。
CREATE angularTest/.editorconfig (246 bytes)
編輯器的設定。使用支援這個檔案的編輯器的話就會套用。包含了文字編碼的指定,括號階層的表示方法
CREATE angularTest/.gitignore (631 bytes)
記載git要忽略的檔案/目錄列表。像是編譯的cache檔案,系統檔案,ide編輯器的設定等等
CREATE angularTest/angular.json (3695 bytes)
angular的設定檔。為重要檔案。記載各種ng指令的設定。
  • build:編譯project的時候所使用的設定。
  • serve:執行內建web server的時候所使用的設定。(內建web server,可以快速開發。因為只要修改程式碼就會自動編譯並觸發瀏覽器重新讀取。)
  • test:執行測試模組。進入點是test.ts。angular的測試模組是使用karma。會自動啟動瀏覽器,經由瀏覽器render。測試規則寫在*.spec.ts檔案。ui可以使用xpath selector取得render之後的資料。
  • lint:找出語法錯誤。雖然編譯的時候就會提醒嚴重到無法編譯的錯誤,要是有嚴謹的撰寫規範的話,
  • extract-i18n:輸出翻譯檔案。會把所有依照多國語系的格式,撰寫文字的呈現方式,輸出為「messages.xlf」檔案。
  • e2e:End to End test。可以想成是「系統整合測試」。使用的模組是protractor。這邊就不深入討論。
CREATE angularTest/package.json (1289 bytes)

node.js的模組設定檔。記載有使用到的模組。
應該不需要手動修改,要增加模組的話就直接使用npm做安裝即可。

CREATE angularTest/tsconfig.json (489 bytes)
typescript的編譯設定檔。目前沒動到。

CREATE angularTest/tslint.json (1953 bytes)
typescript的語法檢查設定檔。目前沒動到。

CREATE angularTest/browserslist (429 bytes)
似乎是輸出js/css的時候會根據瀏覽器的相容性做修改。目前沒動到。

CREATE angularTest/karma.conf.js (1023 bytes)
karma的設定,目前沒動到。預設是使用Chrome瀏覽器做測試。

CREATE angularTest/tsconfig.app.json (210 bytes)
CREATE angularTest/tsconfig.spec.json (270 bytes)
這兩個目前沒動到。

CREATE angularTest/src/favicon.ico (948 bytes)
在瀏覽器的Tab或是網址列前方顯示的小圖。依需求替換。或是修改index.html的<link rel="icon">的tag。

CREATE angularTest/src/index.html (297 bytes)
網頁的進入點。其中<app-root></app-root>是angular的進入點。

CREATE angularTest/src/main.ts (372 bytes)
angular的進入點。不需修改。
裡面做了幾件事情:
  • 導入app.module.js。也就是angular的root模組。
  • 是否使用產品模式。差異:編譯時不會注入除錯資訊,編譯完成的檔案size會小很多。(至少50%的差異)

CREATE angularTest/src/polyfills.ts (2835 bytes)
polyfill的設定。若是目標的支援瀏覽器有IE10跟IE11這種比較舊的,本檔內容有列出一些針對瀏覽器的部分需要啟動。
本文觸及的部分不需修改。

CREATE angularTest/src/styles.scss (80 bytes)
整個project的全域css定義。會在這邊導入bootstrap跟material design。

CREATE angularTest/src/test.ts (753 bytes)
karma測試的定義。裡面描述的動作是「把所有此目錄之下的"*.spec.ts"導入並執行測試」。不需修改。

CREATE angularTest/src/assets/.gitkeep (0 bytes)
git相關檔案。不需修改。

CREATE angularTest/src/environments/environment.prod.ts (51 bytes)
使用參數ng build --prod 編譯angular的時候所使用的環境變數檔案。
CREATE angularTest/src/environments/environment.ts (662 bytes)
使用參數ng build 編譯angular的時候所使用的環境變數檔案。
這兩個檔案是靠ng build的參數「--prod」做切換。有加參數時使用environment.prod.ts,沒加這個參數的時候使用environment.ts檔案。
切換的定義方式請參考angular.json的這個區塊:
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],

CREATE angularTest/src/app/app-routing.module.ts (246 bytes)
定義angular的url routing的運作方式。之後會解說。

CREATE angularTest/src/app/app.module.ts (393 bytes)
算是angular的進入點:根模組。

CREATE angularTest/src/app/app.component.scss (0 bytes)
根模組的scss檔案。這個模組專有的css定義請寫在這裡。
angular的css是寫在每一個component或是模組內。
影響範圍是以樹狀的方式向下作用。同一階的不會互相作用。
假設以下狀態:(被導入的模組就被掛在下一層)
a.module
a.scss
  ---b.module
  ---b.scss
  ---c.component
  ---c.scss
寫在a.scss的定義,會影響到b跟c。寫在b的不會影響到a跟c。寫在c的不會影響到a跟b。


CREATE angularTest/src/app/app.component.html (25755 bytes)
根模組的component的html檔案。雖然模組裡面不一定要有component...
angular init的預設會給一個測試頁。此檔案也就是測試頁的html內文。

CREATE angularTest/src/app/app.component.spec.ts (1074 bytes)
根模組的測試規格。angular init的預設會給一個測試頁,所以這個檔案裡面所描述的測試規格也就是測試頁的規格:「必須要有title,值為"angularTest"」。也可以藉由觀察此檔案來了解如何撰寫karma的測試碼。

CREATE angularTest/src/app/app.component.ts (216 bytes)
根模組的component的typeScript檔案。雖然模組裡面不一定要有component...
angular init的預設會給一個測試頁。此檔案也就是測試頁會用到的typeScript。


CREATE angularTest/e2e/protractor.conf.js (808 bytes)
protractor是整合測試會使用的模組,具有操作網頁的顯示物件的能力。

 
CREATE angularTest/e2e/tsconfig.json (214 bytes) 
protractor所使用的tsconfig。會繼承project根目錄的tsconfig.json。

 
CREATE angularTest/e2e/src/app.e2e-spec.ts (644 bytes) 
protractor的測試規格。可以藉由觀察此檔案來了解如何撰寫protractor的測試碼。
 
 
 
CREATE angularTest/e2e/src/app.po.ts (301 bytes)
protractor的class定義。可以藉由觀察此檔案來了解如何撰寫protractor的測試class。
通常是如何取用頁面上所顯示的資料。
 
 
 
這樣就建立完成新的project了。檔案很多,有個印象就好。
 
 

2020年8月27日木曜日

[銀河祭]2020-08-23 宇老-玉峰-巴陵大橋

這時颱風剛路過,雖然天氣可能不穩,不過空氣算乾淨。 

氣象報告又說下週可能會持續下雨。 而且月球已經在晚上8點左右出現,接下來約三週不好拍,就決定出發了。

 

注意:可以拍銀河的地方就代表沿路幾乎沒有路燈,行車要多加小心留意。
筆者對於資料的正確性也不負任何責任。

 

之前有在內灣到宇老這段做過地點的探勘,可拍的地點依然沒變。 個人最喜歡的還是魯壁山登山口。有塊小空地可以停車也不會擋路。可惜樹有點高。拍完才發現是整個路程能夠拍到的銀河區域比較多的地方。

A7R2+SIGMA 14/1.8  F1.8 8S ISO6400


這一天的氣溫有點低,還好有帶外套。
就這樣的沿路尋找可以拍攝的地點,又發現了幾個。

對於這附近的地形是完全陌生,整個路程跑完才知道宇老是最高點...
之前一直以為玉峰道路還會繼續上爬...

玉峰道路沿著大漢溪谷。溪谷很寬,沿路不難找攝影點。

這個點雖然路邊沒有平地,不過旁邊是田,不至於摔下山谷...
A7R2+SIGMA 14/1.8  F1.8 4S ISO6400



這裡就比較危險了。不建議停留。
A7R2+SIGMA 14/1.8  F1.8 4S ISO6400



 

 這個點的山側有空地,算是安全。
A7R2+SIGMA 14/1.8  F1.8 4S ISO6400


 

 

 

大約2300到巴陵大橋。第一次路不熟加上探路,從宇老到這裡用了約一小時半的時間。

此時銀河的位置已經偏離橋的正上方有相當距離。這張拍了才想起來要用手電筒補光...
A7R2+SIGMA 14/1.8  F1.8 4S ISO6400

補光版
A7R2+SIGMA 14/1.8  F1.8 4S ISO6400


 讚嘆適馬燈泡黑科技...
A7R2+SIGMA 14/1.8  F1.8 8S ISO6400

回程就相對快些。從巴陵大橋到宇老約1小時,宇老到內灣的橋前起點約30分。
也補拍了些有印象的攝影點。

泰平隧道前(新竹縣側)。這地方應該多加些左轉的反光板。這種90度的轉彎沒有提示真的很危險...
A7R2+SIGMA 14/1.8  F1.8 4S ISO6400




這是彎道的路邊,相當危險,視野其實很好。但是拍的時候已經有雲,加上銀河已經快要下沉了...
A7R2+SIGMA 14/1.8  F1.8 4S ISO6400



這個地方就是樹高了點... 可惜。
A7R2+SIGMA 14/1.8  F1.8 4S ISO6400




另外想提的是,泰平隧道兩側剛好就是新竹縣跟桃園縣的縣界。一進入桃園縣,路況就好很多。然後宇老尾段的路況實在是不太好... 真的是沒比較沒傷害。



 

2020年7月31日金曜日

[彗星]C/2020 F3 NEOWISE 攝影紀錄

幫這次的彗星拍攝做個紀錄。順便比較一下鏡頭跟各參數的差異。

個人對於彗星的拍攝沒啥興趣。覺得都是要靠高價器材去撐...
(查資料的時候才知道,弧狀的彗星是靠赤道儀長曝出來的)
聽說這顆彗星肉眼有機會觀測,應該還不算難拍,加上方位是西北,要挑選低光害的地方不難,到海邊就可以。於是抱著試看看的心情,到海邊上了腳架。


2020/07/18 19:43 A7R2+SAL70400G2  70mm F7.1 6s ISO3200 WB:日光燈
捕捉到彗星的第一張。在畫面中間的上方。對於彗星的光度有過多期望,實際上日落之後的餘光也還是足以蓋掉彗星的反射光,還是等了約2小時才開拍。要等到太陽完全無光之後(台灣夏季的話建議20點以後)才拍得好。雲況也令人擔心,還好之後似乎有散掉,並沒有影響拍攝。

2020/07/18 19:59 A7R2+SAL70400G2  400mm F8 8s ISO6400
變焦鏡頭的好處就是可以先用短焦尋物,把目標置中然後放長焦。所以尋星還不算太難。
當時的資訊只知道在北斗七星的下方,18日當時其實跟北斗七星距離差蠻遠的。用70mm也拍了好幾次才發現。

2020/07/18 20:00 A7R2+SAL70400G2  400mm F5.6 8s
這天的海風很強,拍到後來才發現鏡頭晃得厲害。只好在機器上面掛了重物,用身體擋風,也開了防手震...
ISO6400
ISO12800
ISO25600

又發現8秒已經嚴重拖影,縮短曝光時間為4S
2020/07/18 20:14 A7R2+SAL70400G2  400mm F5.6 4s ISO25600
F5.6F8

2020/07/18 20:12 A7R2+SAL70400G2  400mm F8 4s
ISO25600ISO51200ISO102400

覺得拍夠之後,順便拍拍地景。
2020/07/18 20:00 A7R2+SAL70400G2  70mm F4 8s ISO6400 WB:晴天


第一天有抓到彗星已經相當滿足。


2020/07/20
07/18的風很大,滿是手震圖...就想之後再去試看看,希望可以無風。
結果真的無風,但是差點被蚊子扛走... 也突然想到躺在防潮箱的Minolta RF 500mm可以拿出來試看看。雖然因為解析度不行,拿來拍月球總是覺得不夠清晰,彗星不需要清晰度,希望彗尾可以拍得好。

2020/07/20 19:40 A7R2+SAL70400G2  70mm F4 2s ISO3200
在左上角,左邊約25%圖寬,上方已經接近圖邊。沒有拍到海平面,可知高度是更高了。


2020/07/20 19:49 A7R2+SAL70400G2  400mm ISO12800

F5.6F8
2S
4S
8S

看了4秒的圖,確定適當的曝光時間是4秒了。這張的彗尾真是漂亮...

接下來就是500mm出場了。
2020/07/20 20:06 A7R2+Minolta 500mm RF F8

4s2s
ISO6400

ISO12800
ISO25600
ISO51200
ISO102400

沒想到反射鏡還蠻適合拍彗星的。


繼續拿出 Minolta 100mm F2.8 MACRO試試
2020/07/20 20:12 A7R2+Minolta 100mm F2.8 MACRO


8s ISO64004s ISO6400
F2.8
F4
F5.6
F8


又拿出了Minolta 70-210mm F4...
2020/07/20 20:20 A7R2+Minolta 75-210mm F4


ISO 6400ISO 12800
2s
4s
8s

2020/07/20 20:30 A7R2+Minolta 75-210mm F4 4s ISO12800


試完一輪之後,就突然看不到彗星了...可能是被雲蓋住... 加上為了不要被蚊子扛走,全身擺動了一個小時多...收工。


2020/07/21
昨天的地點,蚊子實在是太多。加上累積了足夠的資料,覺得之後可以純記錄隨便拍拍就好,就換個地方拍攝。這個點其實岸邊來的光害比較強。但是沒蚊子,舒適很多(重點!)。

後面的部分就以只以日期來做比較。7/23凌晨是最接近地球的時期,不過個人所在的地方拍不到...


SAL70400G2 400mm F5.6 4s ISO25600500mm RF F8 4s ISO25600
07/21
07/22
07/23
2s
07/24
ISO51200


累積了些彗星拍攝的經驗,之後會不會派上用場?再說吧...