搜尋

搜尋結果

Spring Data Jpa 自動化的選擇 - Code First
科技新知
MacauYeah・2025-01-22

Code First vs Database First 在早期SQL資料庫盛行的年代,在設計要使用資料庫儲存資料時,很經常遇到一個策略選擇的問題Code First vs Database First 這兩個策略的差異可能越來越講不清,筆者也找了一些現時網路上的講法。 Code First 先從寫程式的角度出發,設計數據模型,再使用工具把你程式碼中的數據模型類Class,生成一個對應用SQL資料庫的表Table,自動編做好對應的數據結構Schema。這樣你在設計時,以程式設計為主導,方便熟悉程式的人使用。這常見於第一手開發設計,因為資料都是第一次收集和儲存,考慮收集程式的運作最為實際。 Database First 先從SQL資料庫的儲存、取用資料的方式出發,先用SQL成生Table及Schema,再轉變成為程式碼中的數據模型。這樣的資料庫在日後作分析用途時,比較簡單易懂,方便使用熟悉SQL的人去使用。這也常見於二次開發程式,因為這樣可以確保不會錯誤地破壞原有資料庫。 那麼筆者為何講這兩個差異越來越講不清?那是因為現在的資料庫不能單純地只考慮初次或二次開發問題,而是需要考慮多個系統協調運行的問題。 多系統共享協定 Database First 因為隨著資料系統發展,有些資料會作為數據源出現或用作共享媒界,如果一定要對設計策略作分類,在多系統協調運作下,這些應該叫使Database First。不論它們是SQL還是NoSQL資料庫,我們的程式碼都要為這個預先定義好的數據結構作出妥協。不論使用工具,還是人為分析,都要把共享的數據結構轉換成自己程式中的數據模型。 即使不是多系統協調運作,有時候因為要移植系統,但同時又要令兩個系統版本相容。新系統也是被逼使用Database First的方式設計。 自動化考量 Code First 前述我們講到,很多時候我們也是從Database First的方式思考。不過筆者就這個Database First,也弄到滿身傷痕。 首先,拋開工具轉換的誤差,我們人為的把共享數據轉化為數據模型,共享數據有時會有一些先天的缺陷,例如 資料沒有設計Primay Key 主鍵,唯一鍵、日期時間的定義不明確等。面對一些意義不明的數據來源,要整合確實很要命。而且二次開發中,不可能100%重用原有的資料庫結構,很多時都會加入新的欄位或更多表格去計數。一旦加入新欄位,在團隊多人開發中,那麼使用唯一的共享開發環境,就變很易有程式碼上的衝突。 若需要多人開發,各人有一個Code First的開發用資料庫,是很必要的。這也可以在系統正式升級前,對比開發中資料庫及舊資料庫的結構,觀看它們之間的差異,評估升級的風險。 也許Code First並不是重點,重點是可以隨時建立一個測試用的資料庫,這才方便合作開發。自動化的地方,不單只限於數據結構,範例資料也該是如此。如果有維繫一個初始範例資料,可以在有需要時自動生成,對於多變的環境一定有很幫助。 現時,筆者基本上都會人為檢視資料庫,人工對照編寫程式中的資料結構即是人工的Database First,並確保那時程式再次經自動化生成的測試用資料庫,並沒有失真即是Code First。至於範例資料,初期筆者也只使用SQL生成,但後期因為資料結構開始複雜,筆者也暫暫使用程式碼生成,雖然工作量會多了,但對於資料庫升級、品牌更換,這是很有效的手段,程式碼升級測試也更順暢,絕比SQL生成更易維護。 Ref Code First vs Database First httpsbuiltin.comarticlescodefirstvsdatabasefirstapproach

自己架設Docker的共享儲存空間
科技新知
MacauYeah・2023-07-21

Docker很好用,在單機環境下真的很好用。Docker原本的設計,是為了快速迭代而設計成Image的。在一般設定下,每次新建或重建container,都會根據Image重設一下各方面的環境,包括儲存空間。重設CPU,Memory,大家都很易理解,但重設儲存空間,真的不是每一個使用情況都可以這樣。 又或者說,未必所有使用情況都會有一個第三方的儲存空間可以用。所以良心的Docker在單機環境下也有提供bind mount或是docker named volume,作為可以長期保存,不受container生死的影響,以達到長期存在Data的存在。 單機儲存空間 單機情況下很簡單,就用一個docker compose做例子 其中html就是一個bind mount,而nginxlogs就是一個docker named volume,兩者都可以長期保存data,除非各位自己手動刪除,否則不會因為container的興亡而不見了。 但有兩個很重要的分別 bind mount,直接跟host os連接,實際上是每次folder有更新,docker都要同步host和container之間的資料。 bind mount在linux下很暢順,因為大部份docker imagecontainer原本就是linux engine,所以folder mount真的可以互通。 bind mount在windows mac下,就會不斷抄資料。面對大量檔案,例如node_module,就會有速度上的問題 docker named volume,就是docker 分離一些獨立空間,然後再綁到container上 相對bind mount,即使在windows mac下,都沒有那個速度上的問題。筆者猜測,即使是獨立空間,其實本身都已經限定在linux enginx下,所以沒有需要抄資料。 但在windows mac下,因應docker 底層建立Linux VM的技術不同,你可能沒法在windows mac預設環境下直接讀取docker named volume。 若要讀取docker named volume,最好的做法,還是連上docker container,然後用docker cp 來抄回資料。一但抄資料,其實都會有速度上問題,不過docker cp是手動決定何時做的,不做docker cp,其實container也是可以用。 Cluster儲存空間 雖然良心的bind mount和named volume解決了單機上的儲存問題,但到了cluster環境,就沒有可以跨機同步儲存空間的做法,要做就自己建立。 筆者也稍為研究了一下同步的問題,不過對技術真的很有要求。所以退而求其次,筆者還是選擇簡單的第三方儲存空間。就是做一個可以分享存取的NAS。 建立nfs linux下要安裝nfs其實很簡單,不過要注意資料夾和防火牆權限,以下安裝教學以ubunut 22.04為例,記得把下面的YOUR_DOCKER_NODE_ADDRESS_RANGE轉為你的真實IP段落 修改docker compose 最後,你在原來的dockercompose的docker volume上加driver_opts就大功告成。 記得把下面的YOUR_NFS_IP轉為你的真實IP

【VR遊戲點評】新手必買!令人又愛又恨的《Coaster Combat》
科技新知
Oculus Go Go Go!・2018-07-04

VR 過山車應用程式寥寥可數,並且暈動症經常被用作為 VR 最大問題之一的例子。儘管我被警告過,但我決定嘗試 Coaster Combat 並親自證實這是否屬實。最後,我發現 Oculus Go 的功能非常出色,幾乎超出了我的預期。不過,有一個問題...... 當你加載 Coaster Combat 時,你可以從遊戲提供的四款不同過山車主題中選擇。表面上,鐵路設計是隨機的,因此每段路程將會是獨一無二。但實際上,從我的遊戲經驗所得,我發覺重覆地玩同樣主題的過山車感覺非常相同,比我所期待的明顯變化還要小。如果你期望這款遊戲是百玩不厭的話,你可能會感到失望。 雖然如此,但遊戲本身絕對是非常優秀的。當你坐在虛擬過山車時,你可以沿著路徑向移動目標射擊。就算你的魔術棒或海盜手槍在螢幕上沒有出現十字線或指示物,亦不難瞄準。由於你有無限彈藥,就算射不中目標也不是甚麼大問題。在每段賽道結束時,遊戲會根據你摧毀目標的數量而給予獎牌作為獎勵。當中還有一個排行榜,你可以把你的分數和你朋友的分數作出比較。雖然遊戲本身是很簡單,但由於過山車軌道和移動目標皆具備瘋狂特性,使這款遊戲令人非常興奮。 視覺效果大大提升玩家的體驗。路程裹有很多突顯他們主題的細微之處,例如多邊形的海盜和骷髏會趁你的過山車接近時攻擊你。就像 Oculus Go 上眾多的遊戲一樣,視覺效果稍為有點卡通化而又充滿色彩,這是一種很迷人而有吸引力的風格。 Coaster Combat 是導向 VR 新手展示 Oculus Go 的最佳遊戲之一。它以簡單的街機射擊遊戲玩法,混入了刺激的過山車乘坐感,很完美地展示出一種體驗,一種本身就很難在非 VR 平台上捕捉的體驗。我認為這款遊戲可以吸引所有年齡層面的玩家,對於新手 Oculus Go 用戶來說,這款是必買的遊戲。 不過,正如我上文簡單提到,Coaster Combat 是存在問題。雖然我真的很享受這款遊戲,但我不能玩超過好幾次而沒有感到暈浪。尤其是以喜馬拉雅山為主題的過山車最為嚴重,這個主題擁有最為極端的高低位和轉彎位。對於大部分人來說,這或許並不是個問題,但我仍然覺得需要對此作出補充。(說實話,我不太喜歡現實中的過山車)。雖然有暈車的風險,但它依然是其中一款我最喜歡向 VR 新手展示的遊戲,我亦會多加注意不要讓他們玩太多。即使他們體驗後感到有點不適,他們臉上仍然會露出笑容。 分數 hearts;hearts;hearts;hearts; 舒適度 diams;diams; 原文(英文): REVIEW Coaster Combat 中文翻譯: Chrysalids 少爺

【低至七折】送禮自用一流!DFS 聖誕限量美妝及護膚品
購物‧時裝
Cheers!・2018-12-27

每年聖誕,各大美妝品牌都會推出限量彩妝系列,外形討好之餘,套裝價錢又抵買,用來當作高質抽獎禮物也是個不錯選擇。 澳門銀河時尚匯購物中心就在佳節期間推出購物獎賞,由 2018 年 12 月 13 日至 2019 年 1 月 6 日,凡於時尚匯消費滿 $30,000、$60,000 及 $100,000,即可分別獲得價值 $1,000、$2,000 及 $ 3,000 的消費獎賞。除此之外,購物中心內的 DFS 更推出低至七折的美妝及護膚產品 Gift Set,令人非常心動。 美妝及護膚產品 Gift Set 低至七折! DIOR 今季 Dior 以幸運星作為主題,兩款聖誕系列五色眼影上都灑滿星星圖騰,一款以棕色、金色與栗子色為主調,另一款將銀色、霧灰色、灰褐色與鉑金光芒完美融和,乃 Party 必備妝物! 星願之夜五色眼影─珍藏版 $575 TOM FORD TOM FORD 由 11 月 16 日至 12 月 31 日亦推出了聖誕特別活動 ─ 「吻唇妝」試色新體驗。完成吻唇妝體驗後,凡購買 TOM FORD BEAUTY產品達指定金額可獲一份聖誕驚喜! TOM FORD 2018冬季彩妝盤 $1,320 更多聖誕限量美妝及護膚產品 GUERLAIN 嬌蘭紅寶之吻 高訂唇膏彩殼GOLD JEWEL $130 嬌蘭幻彩流呈蜜粉球 金燦復古限量版 $500 嬌蘭金燦復古撞色全顏彩盤 $590 HERMES 愛馬仕絲意淡香精節慶禮盒 $1,205 Lrsquo;OCCITANE 歐舒丹馬鞭草星星小禮盒(右) $110 歐舒丹櫻花套裝(左) $560 SHU UEMURA x LA MAISON DU CHOCOLAT 植村秀與法國巴黎朱古力品牌La Maison du Chocolat 2018聖誕系列 植村秀 ultime8infin; 黃金琥珀潔顏油 $890 植村秀膏狀胭脂 $260 植村秀 ganache amp; praline 眼影盒 $600 植村秀睫毛夾 $155 植村秀豐盈啞致唇膏 $230 「時尚匯」佳節購物賞 活動期:2018年12月13日至2019年1月6日 詳情:httpswww.galaxymacau.comzhhantsoq7p

[遊戲編年史] Devil May Cry 2 - 那個一直被認為是黑歷史的存在
手機‧電玩
MacauYeah・2021-05-12

雖然DMC2 有著不好的評價,但以時代的角度來看,它是為了嘗試解決DMC1的問題而作出的嘗試。 DMC1最大的問題,是跑圖的操作很差,雖然打小兵時打擊感很好,但跑圖或是打Boss,視角總是在亂轉,平時跑圖還好,即使變向操作,就腦海中卡一卡,但Boss時,你連Boss都沒法正常看到,再加個方向突然改變,很多時會馬上命喪Boss之下。 那個問題,要從很古舊的PS1 3D遊戲時代說起 想當年,生化危機13,在PS1年代,都是以坦克型操作Tank Control為主,就是方向鍵的上,永遠是對應角色的前方,但視覺卻不是尾隨或越肩,而是上帝視覺得場景中的固定視覺。坦克型操作,對於當時長期遊戲的玩家來說,很快就可以適應,但對於新手,總是要花一定的學習成本。 而DMC1,想做一個爽快的動作遊戲,這個問題必需要得到解決。雖然DMC1是發售在PS2 年代,但由於開發技術不熟,才第一次嘗試在3D環境中做自由走動,還不敢做鏡頭的自由走動,因為Randering上限、場景會有會穿崩、鏡頭改動而產生的Bug,要解決的難題也多。所以DMC1做了一個取捨,行動操作是自由,但視角不能自由轉換,所以在場景轉向時有一定的慣性移動即如果玩家一直按著quot;上quot;來行走,第一個場景中,角色真的會向上走,但換場景後,角色會一直向自己的正前方走,直到玩家有其他方向的改變。。這種慣性移動,在整個PS2年代,都廣泛地使用例如DMC3, DMC4依然使用著,Silent Hill 4也是如此。 但系統奇怪的轉視角轉變,一直都是動作遊戲的阻礙,即便完全不能解決,也要做一些舒緩機制。DMC2,也在這個方向努力過。 DMC2到底做了些什麼改動 1 場景變大了,鏡頭在一個大家廣場上空敍下俯視,鏡頭會進死角的機會變少,鏡頭可以慢慢的跟著角色走動,減少切換機制。 2 加強了槍擊的玩法,因為近戰很需求走動,但槍的遠攻可以減少這樣的操作。 3 近戰動作的整套修改,不鼓勵方向性的連技,減少方向性輸入方向性輸入還是有的,不過可有可無。 如果單從技術上來講,它的確避免了很多鏡頭問題,但另一個嚴重的問題因此而發生,那就是,它不再好玩。鏡頭拉遠了,臨場感就變低了,遠攻變成了常態,近戰的快感就營造不了,而且玩家依賴了遠攻作為保命解決問題的最好用招式,就使得整個遊戲都變得淡而無味。由此可見,沒有深思熟慮的改變,並不能真正抗大核心玩家群。據說當初開發預算成本比DMC1更低,好醜也要修正一些問題,結果就變成這。 遊戲雖然不錯,但能留住玩家玩下去就實在太少了 以筆者的感覺而言,打完Dante New Game之後,感覺真的很空洞。最後的幾場Boss戰其實有夠難的,絕對不亞於其他集數,但整個遊戲設定,只讓覺得我的Dante很沒有活動能力比Rockman X的感覺差很多,打完一輪之後,我不太有動力去嘗試不同的打法。另一個原因是因為DMC2還使用絕對性線流程,無法中途自行選關,只能順序從第一關打到最後一關。想回到過去,要麼打二輪,要麼讀檔重來。 能拯救這遊戲的,就只有Speedrun Community 之前玩血咒之城就已經有這樣的感覺。一個遊戲,如果只是機制設計有點失誤,而令遊戲很沉悶,但不致於無法遊戲,那麼Speedrun Community就救得了這個遊戲。像是血咒之城,本身沒什麼技術力突破,道具多變但造不出切換道具的必要性,操作也沒有什麼好感,所以筆者一週目,也是感覺平平,當時筆者第一直覺,也是覺得這遊戲不值它的售價。直至筆者參考完Speedrun 大神的低等級通關攻略,筆者才覺得有興趣起來。 DMC2又一個活生生的案例,能直正讀懂這遊戲的,就只有Speedrun玩家 httpswww.twitch.tvvideos536164956 當你看完大神的打法後,才知道原來重武器的差異,再加上魔化的加乘,絕對比槍的DPS要高很多。這集的Speedrun也跟其他集數不同,不用介意升級用的資源。因為遊戲一開始就給你完整的連技,升級只是在乎攻擊力的差異。所以即使用沒有大神們的精準操作,你還是可以照搬它們的遊玩思路。 好啦,痛苦的DMC2就讓它到此為止吧。下期再介紹筆者心中認為目前最偉大的DMC3吧 筆者的DMC2黑歷史遊玩記錄 httpswww.youtube.complaylistlist=PLUbYXpKT7aEVRTjbH2JLxX1QmLpPSBYg0

準備GO飛﹗ HK Express推出3條日本新航線迎接夏日,東京航班增至每日5班。
旅遊情報
Benjamin・2016-03-30

一向驚喜浪接浪的香港低成本航空HK Express再度帶來好消息,讓旅客在暑假出遊有更多好選擇!HK Express宣佈推出3條新航線往來香港及美麗的日本沿海城市-石桓島、高松及鹿兒島。 為慶祝成為首家低成本航空提供直航航班分別前往石桓島、高松及鹿兒島三個日本海岸城市,HK Express現推出開航折扣優惠mdash;「訂購更多、優惠更多」。旅客凡購買相關航線的機票即可享高達6折優惠,優惠推廣至 2016 年 3 月31日止。出遊時間相當靈活,出發日期適用於開航日至 2017年3 月 25 日。旅客可於HK Express官網www.hkexpress.com 或透過HK Express手機應用程式預訂機票。 位處日本南部,石桓島是沖繩縣其中一個最引人入勝的地方。島上擁有全日本最美麗的海岸,島的四周圍繞著不少島嶼,是潛水愛好者的天堂,亦是觀賞魔鬼魚、划水上皮艇、滑浪及浮潛的勝地。新航線將於2016年6月16日起開始營運,逢星期四和星期日出發。 香港(HKG)lt;gt; 石桓島(ISG)(當地時間) 航班編號 航線 出發 抵達 班次 UO3812 香港 HKG gt; 石桓島 ISG 0720 1025 星期四 0710 1015 星期日 UO3813 石桓島 ISG gt; 香港 HKG 1115 1220 星期四 1100 1155 星期日 上述航線及機票價格須經由有關部門審批 享有「烏冬王國」美譽之稱的日本高松,同時也以綠草如茵的栗林公園、雄偉的高松城聞名於世。高松是個充滿歷史文化氣色的漁港,其豐富的海產每年皆吸引不少旅客到訪。新航線將於 7月6日起開始營運,逢星期二、三、日出發。 香港(HKG)lt;gt;高松(TAK)(當地時間) 航班編號 航線 出發 抵達 班次 UO504 香港 HKG gt; 高松 TAK 1515 2005 星期二 0755 1245 星期三 1525 2015 星期日 UO523 高松 TAKgt; 香港 HKG 2055 2335 星期二 1330 1610 星期三 2100 2340 星期日 上述航線及機票價格須經由有關部門審批 另一處充滿魅力的沿海城市日本鹿兒島,是鹿兒島縣的首府,因其優越的海灣地理位置、怡人的氣候、茂盛的棕櫚樹和其市內著名的櫻島而被冠以「東方意大利那不勒斯」的美喻。櫻島位於鹿兒島灣中部,是目前日本其中一座活火山,亦是鹿兒島最重要的地標。新航線將於7月11日起開始營運,逢星期一、三、五、六出發。 香港(HKG)lt;gt; 鹿兒島(KOJ)(當地時間) 航班編號 航線 出發 抵達 班次 UO3820 香港 HKG gt; 鹿兒島 KOJ 0700 1105 星期一 1605 2010 星期三 1050 1455 星期五 1330 1735 星期六 UO3821 鹿兒島 KOJ gt; 香港 HKG 1150 1400 星期一 2055 2305 星期三 1750 2000 星期五 2000 2210 星期六 上述航線及機票價格須經由有關部門審批 「HK Express一直致力回應旅客訴求,開拓新的熱門航點。今次新推出的航線,將會為往日難以涉足的日本地區帶來旅遊業發展機遇,造福當地經濟。」HK Express 行政總裁安浩恩(Andrew Cowen)表示。「對於HK Express成為首家提供直航航班來往香港與日本高松和石桓島的航空公司,以及為旅客提供更多外遊選擇,我們實在感到欣喜。」 除了新增之3條精彩航線外,HK Express更將會按現時每日兩班的東京成田航班增至每日3班,使每日往來香港及東京的航班增至5班(分別為兩班往返羽田及3班往返成田)。額外增加的成田航班將於2016年10月30日起營運,旅客可立即登入HK Express官網預訂機位。 優惠不包括機場稅、燃油附加費和其他額外收費;須視乎供應情況而定及優惠附帶條款及細則。

Spring boot web api 異常處理
科技新知
MacauYeah・2025-10-28

我們在編寫程式時,經常會遇到一些極端的情況,不會經過 function 的方式回傳結果。例如一個 function 原本是提供讀檔功能,但用戶傳入的並不是一個有效的檔案路徑,又或是誰路徑權限不足,無法讀取。這些不正常的結果,並不是原本 function 所協定的回傳值。那麼,我們會拋出異常 Exception ,中斷所有被呼叫中的 function ,讓上層用戶去考慮怎樣處理這個問題。 在 Web API 中,這些 Exception 就更常見。要求用戶傳入的參數,用戶就是有時候少了幾個。覆寫資料的時候,原本的資料已被刪除。但我們現在是經過 Web Api,不能像過去一直向上拋出異常就能通知用戶。我們需要的,是把異常轉成對應的 Http Status Code,讓用戶端可以快速識別異常的類型。 java 異常對應 Http Response Code 其實在 spring boot web 中,要做轉譯,是很簡單的。在定義 java Exception的時候,若有@ResponseStatus,spring boot web 就會自動回應對應的 http error code。 @ResponseStatusHttpStatus.FORBIDDEN public class CustomAuthenticationException extends RuntimeException public CustomAuthenticationException public CustomAuthenticationExceptionString message supermessage; 以後,任何一個地方拋出 CustomAuthenticationException (假設上層沒有人攔截)都會把該 Controller 的結果改為 http 403。Spring boot 也很聰明的,把異常中的 message 隱藏 ,免得有網安的問題。 若我們定義 Exception 時,沒有@ResponseStatus,Controller 就會變成 http 500,例如我在 controller 中拋個常見的 IOException,這次的結果就會變成 http 500。 @GetMappingquot;apiioErrorquot; public String forceIOException throws IOException throw new IOExceptionquot;force io errorquot;; 如果某些時候,我們想使用 java Exception 中的 message 欄位作為報錯信息,讓 http 客戶端,可以通過固定的 message 檔位找到問題訊息,我們可以在application.properties中,加入server.error.includemessage=always。有些特殊情況,在開發模式時 mvn springbootrun ,已經可以見到有 Exception message,但在投産後java jar又看不到。主要因為開發模式中, pom 有 optional springbootdevtools,會自動加入了server.error.includemessage=always,但 mvn package 後就沒有,因為 runtime 沒有 springbootdevtools 的覆蓋。 額外處理 異常處理除了想控制 http status code 外,有時還需要做一些額外處理,例如發出通知郵件等。若想做額外處理,需要另做一個 @RestControllerAdvice 的類,在接到指定的 exception 時,可以轉換不同的 http code ,而且還可以執行額外 java code ,改變 http ResponseBody 。 @RestControllerAdvice public class GlobalExceptionHandler @ExceptionHandlervalue = RuntimeException.class @ResponseStatusHttpStatus.INTERNAL_SERVER_ERROR public Map handleRuntimeExceptionException ex return Map.ofquot;retquot;, false, quot;anyfieldsquot;, ex.getMessage; 但要注意,一旦使用@RestControllerAdvice 後,就要考慮有沒有改變了某些預設的行為。例如上述的@ExceptionHandlervalue = RuntimeException.class,代表所有RuntimException.class的子類,都會歸由該 function 所處理。當然,你也可以多加幾個 function 來處理不同的子類。 Reference springbootwebapivalidate

DJI Spark 掌上自拍無人機誕生!起降•空拍全靠手勢操作
手機‧電玩
Jackst・2017-05-25

大疆創新(DJI)終於加入風靡一時的「飛行相機/自拍無人機」陣營,正式發表旗下首台迷你無人機 DJI Spark,可謂繼 DJI Mavic Pro 後更迎合廣大眾消費者拍攝需要的空拍飛行器。DJI Spark 號稱起飛至到拍照只需「幾秒鐘」,全賴猶如出至《Iron Man(鐵甲奇俠/鋼鐵人)》的手勢操作功能;如此富科幻感的遙控方式,在 1 年前就以視像避障震撼市場的 DJI 就是要跟飛友說辦得到! 全手勢空拍 DJI Spark 的最大亮點毫無疑問是手勢操控:飛友可用直觀的肢體動作遙控無人機起飛、移動、降落,難怪發布會講者 DJI 策略合作總監 Michael Perry 形容,操作 DJI Spark 就像玩魔術一樣!Perry 在發布會現場示範了以下動作,DJI Spark 由掌上起飛,至自動返航降落,加上中途取景和拍照,都可以只用手勢做到: 起飛:伸出手臂,把大疆 Spark 置於掌心,再按兩下開機鍵,無人機便可辨識並鎖定用戶面孔,逕自起飛; 移動:Spark 按用家手臂揮動方向,往上下前後左右飛行; 向後飛:對準鏡頭揮手,Spark 會向後飛 10 米,並持續令拍攝主體保持在畫面正中間; 拍照:對著鏡頭用食指和姆指組成矩形,即可指令大疆 Spark 進行拍攝,Mavic Pro 已可這樣做了; 降落:舉高雙手並揮手。 按兩下電源鍵後,DJI Spark 的鏡頭會先辨認用戶臉容,然後自行起飛。 DJI Spark 可跟隨用家手掌方向移動,實現手勢操控! 自動飛行和錄影 遙控飛行操作藉由各種手勢大幅簡化,拍攝方面則內置多種自動模式,乾脆省卻用戶操作的需要。除過往已亮相的智能跟隨(ActiveTrack)和指點飛行(TapFly)之外,Spark 還加入了幾款「一鍵拍片」模式:空拍機一面螺旋、環繞、沖天(垂直上升)或漸遠(退後兼上升),一面錄影短片,有點像 Zerotech Dobby 的「短視頻」功能。 大疆 Spark 機首的航拍相機以兩軸雲台系統懸掛著,可俯仰 85 度至 0 度;相機內置 12.3 吋 CMOS 感光元件,可拍攝 1,200 萬畫素照片,以及可錄影 1080p @ 30fps 影片;對焦距離為 2 米至無限遠,亦備有一個 ShallowFocus(景深)模式,以軟體後製方式模擬單眼相機的淺景深拍攝效果。 DJI Spark 的鏡頭以兩軸雲台固定,可拍 1,200 萬像,但重點其實是內置的多種自動空拍選項。 DJI Spark 定位感像陣容豐富,前方一對鏡頭既能實現自動跟拍,亦能迴避障礙hellip;hellip; 還有模擬淺景深! 是的,「ShallowFocus」為 DJI Spark 重點功能之一,可模擬單眼相機的淺景深效果,文青和潮人必備。 16 分鐘續航力 Spark 的手勢操控和自動空拍功能,全部收藏在軸距 170 毫米、重量 300 克的小小機體內,預設以《DJI Go 4》APP 遙控;用戶亦可另購實體遙控器和 DJI Goggles 飛行眼鏡輔助操作。它的有效遙控距離為遠 100 米、高 50 米,前方自動避障距離則為 0.2 至 5 米。更叫人驚喜的是,DJI 宣稱 Spark 的續航時間可達 16 分鐘,可說同類型機種中最強,並可替機體接上 USB 線直接充電。 DJI Spark 遙控器形如 Mavic Pro 遙控器,但自身不設屏幕;遙控器為全能套裝配件之一。 大疆 Spark 備有紅、黃、藍、綠、白色 5 色版本可供選擇,即日起在DJI 官方商城及旗艦店接受預訂,預計 2017 年 6 月中出貨。DJI Spark 售價為 3,899 港元/15,900 台幣;附帶槳翼保護罩、實體遙控器、電池管家、收納肩包等配件的全能套裝,定價則為 5,459 港元/22,500 台幣。 原文網址: httpswww.dronesplayer.com

來了不可不去的 -- 首爾鷺梁津水產市場
全球飲食
莫雪・2019-08-27

韓國首爾鷺梁津水產市場 相機咖啡館 首爾非常大的漁獲市場 鷺梁津水產市場 交通也不會太難, 地鐵直達, 鷺梁津站 1號出口, 步行大約8分鐘, 偌大的漁獲市場, 感覺乾淨衛生而沒有異味, 一盤一盤海鮮蝦、蟹類, 地上却沒有水跡, 一檔檔大大堆活跳跳的帝王蟹、龍蝦、長腳蟹、 帝王蟹、章魚、大明蝦還有各種貝類漁獲隨你挑, 重要是很多阿朱媽都會說中文,真不用擔心無法溝通, 在一樓買完、上二樓立馬料理上桌。 不過 海鮮漁獲攤販跟料理食堂要怎麼挑選, 之前朋友的攻略建議海鮮那檔什麼號碼的便宜, 來到現場吸引視線的太多, 眼花撩亂了, 還是隨著感覺挑吧 來這必吃帝王蟹, 檔主介紹了一條韓國的魚種刺身吃, 叫黑頭, 那便試試, 肉質鮮爽還可以, 下面黑色那條, 上面那條是左口魚 選擇了一間料理加工店 ndash; 有大量留言和名人到此一遊相片貼滿玻璃門在外, 也包括了香港食評家蔡生等等.. 我們則選了皇帝食堂 ndash; 的隔鄰 金鶴 , 主要是那家店的阿朱媽說我們也要推文哦, 沒有貼出來而已, 好, 那便相信別人, 好歹座落在強強店隔鄰, 總會嚴陣以待吧 況且, 那店收我們的加工、人頭基本費才4000韓元每人, 已包括魚生頭尾魚骨部份做湯 類似泰式冬蔭功。 原來市場是24小時開放的,真是晨昏早晚無節制了, 哈哈hellip; 注意的是每家魚販的營業時間會有所不同而已。 地址:首爾特別市銅雀區Nodeul路674 鷺梁津洞 地鐵直達, 鷺梁津站 1號出口 電話:0222548000 營業時間:24小時開放食堂營業時間各有不同 平安京茶事 相機咖啡館 【編輯聲明】 本篇文章、相片版權屬作者所有,經由版權持有人授權CyberCTM.com發表

Home Media 節慶狂歡娛樂推介!JOOX 陪您玩轉冬日假期
生活在我城
Cheers!・2022-12-20

樂迷粉絲必備 【JOOX】,CTM 客戶享豁免本地數據任聽歌 暢享 1,000 萬 HiFi 高質音樂,最新派台及排行榜歌曲任聽,仲可以每日為偶像投票 年度歌單推介《到底發生過什麼事》《地球上的最後一朵花》《永順街 39 號》《老派約會之必要》 【靚聲耳機套裝 7 折】Nothing Ear stick 耳機 6 個月 JOOX 服務|優惠價:$860(原價:$1,278) 依家申請 5G 月費計劃,即送 6 個月 Home Media 娛樂服務(任選 1 款),仲可享低至 $280 換購 Home Media 電視盒子(原價:$880)同 $100 換購 SHAKS 無線遊戲手柄(原價:$400),立即去申請,體驗 5G 超高清流暢娛樂 httpsqr.pageg1VjNN7uz2rB 優惠詳情:httpsqr.pagegG6VVnmQpZk 到底發生過什麼事 Dear Jane 沒說但心照《到底發生過什麼事》這些年來,你我也許一樣,都發生過太多事 你還記得你當初的坦白、爛漫和爽朗嗎? 何以經過一些秋與冬之後, 今晚的你, 變得有一點欲言又止, 有一點似笑非笑, 有一點心不在焉? 到底發生過什麼事? 不過我懂的, 因為我也許一樣。 有些事,不必說, 把它哭出來吧。 地球上的最後一朵花 即使山崩海枯,只要相信,孤花總會有結果的一天。 永順街 39 號 繼2022年Anson Lo推出編曲澎湃的唱跳曲目《Mr. Stranger》及《King Kong》後,第三首的派台歌曲為大家帶來傷感抒情作品 《永順街39號》。 永順街39號是Anson Lo就讀的小學地址。用上這個地址做歌名全因他的初戀發生在小六,希望透過歌曲分享這段Puppy Love,以表達他對愛情的遺憾與初衷。 無論是單戀還是相戀,初戀是每個人都曾經歷,而大多數總好像是失敗收場。或許愛情就像人生,不一定一次成功,需要經歷跌跌撞撞,再尋回自己當日對愛情的初衷。 究竟你的初戀是一種甜蜜,還是一段遺憾? 老派約會之必要 MC張天賦 穿越永恆的情歌《老派約會之必要》 「我要我們的浪漫 永不過時」 我願意為你收起我的狂熱, 與你感受街燈與夜色的微溫; 我願意不再高傲不再奔放, 羞怯地安靜地留在你身邊, 被你的腳步牽着走; 我願意放慢一點性子去等, 等那個不追求快感的吻。 我要我們的浪漫 永不過時。