搜尋

搜尋結果

git 整合問題
科技新知
MacauYeah・2024-02-20

不知道大家的開發團隊、專案規模有多大,但只要系統或程式已發佈,同時又要做維護更新,git 庫都至少會有兩條分枝: 新功能 main feature 最新的穩定發佈版本 Release v1.x.x 最好的情況下,在開發完新功能之前,穩定版本都沒有需要緊急修正的地方,開發者可以專心開發新功能(main feature。然而這個情況並不能經常維持。 情況1有Bug要馬上修正 最常見到的情況,就是穩定發佈版本有瑕疵,可以經過小修小改來止血,由v1.x.x rArr; v1.x.y,這些可能對用戶來說,是沒有太大感覺的改動。不過對於開發流程,就免不了由v1.x.y整合(merge)回main時,出現修改衝突的問題。 建議 若屬於日後不再需要的改動,不需於整合到main中, 當然什麼都不用做。但若屬於必要的更新,就需要早早整合到main中。整合雖然痛苦,但延後整合沒有好處。以筆者的經驗,每次整合時有衝突,而越早整合越有條件知道該取用自動混合的那個版本。以整合工具的語言來說,就是更容易的作出use mine use theirs edit。 情況2 不同功能之間有衝突 上述情況1,已經算是可控的。主要因為穩定發佈版本都只會接受小修小改,大改都會直接在main中開當為新功能開發。當你有多個很重要的功能在不同時期被提出,而有些功能你沒有信心在下個發佈中提出,你就會選擇以獨立分支來實現不同的功能,最後選擇信心度高、權重也比較高的功能來發佈。這樣的好處是你可以有限時間先完成最必要的功能,但問題是多個功能分支之間,更容易地有衝突,後期也需要很廢心力地整合。 建議 少做資料夾層面的改動,因為git rename的功能並不是萬能的,會令很多git自動選擇版變得不可讀。筆者的經驗,就是錯把後端和前端的資料夾混在一起,令後端的一些重命名影響到前端。前端也因為有重寫的需要,對資料夾結構大改。最後結果就是很多看不懂的git自動選擇版。有一些有選對,但有一些就選錯。 可以做一些事前處理,來減經痛苦。在筆者的資料夾問題情境,在把後端將要整合的多個commit中,挑選最早前沒有命名問題的commit先整合一次。然後前端先手動模擬後端的人工命名,自行commit一次,最後再把後端剩餘的commit再做整合。這個做法不是完全解決問題,但至少可以讓use mine use theirs edit更新易理解。 而另一個建議是,縮短發佈週期,逼使其他開發中的功能越早做整合,也逼使每個功能不要做太大規模的改動。如果真的做大規模改動,就要有心理準備要多次重要的整合。 情況3 多個穩定發佈版本需要同時維護 若然大家面對的工作規模真的很大,同時有多個版運行版本,就如gitlab,每一個月都有一個新功能版本16.0.x, 16.1.x, 16.2.x,hellip; 16.9.x,但它不會強逼大家更新,對於過去一段時間的功能版本,也會推出安全性更新前述的x會不斷修正問題。 這是一個很負責任的發佈模式,不過對於開發者來講就一定很地獄。因為16.0.x的安全更新並不能無痛地整合到16.9.x中,可能每個版本重新人工修改還要來得穩健。 建議 各個分支人工修改可能更適合。最後就是取決於商業政策的考量,到底公司願意為已發佈的功能版本提供多久的支援。就以gitlab為例,其實它也只承諾維持兩三個月前的功能版本。是否會backport到多個月之前的版本,就看問題的嚴重性和backport難易度。 也分享一些筆者朋友的經驗,他們開發的是軟件跟硬件整理的軟件庫。但因為硬件有限制,例如庫的大小、算力的差異,所以最後分支多到爆炸。這也是軟硬整合的痛,問題暫時無解。除非老闆肯放棄市場。

排程執行任務 | Linux Schedule Job
科技新知
MacauYeah・2023-09-07

在Linux底下,crontab是一個最簡單建立Schedule Job的方法。大家用crontab e 就可以進入設定。 # crontab e 1 optrun.sh 其中每個星號,順序代表的是分、時、日、月、星期。上面的例子就是不論何月何日何時,只要每一分鐘就執行一次optrun.sh Singleton Job 問題是,實際情況下,你想執行程式的時間都不一定會少於1分鐘。所以你總是有機會上一個job未跑完,下一個job就開始了。為了保障自已,需要一些參考機制,去決定是否讓job開始跑。 有些情況,可能你會想用job server去做監管,但若只為單線執行的工作,起一個job server還是會增加管理上的複雜性。 最簡單的做法,就是根據不同的程式語言,使用file lock(鎖上)的機制,先上鎖,再做事。但要注意考慮有沒有出現異常情況,令你自己反鎖自己。即是你的process死了,但不懂自己解鎖,這樣以後你也不能再執行了。 在Linux Bash Shell下,就有一個很簡單的做法,就是使用flock指令。用它的最大好處,就是從OS層面下,去鎖上。只要process結束了,不論正常還是不正常結束,都會自動解鎖。 以下例子就是在執行optrun.sh前,先要取得tmprun.lockfile的鎖。如果沒法取鎖,就自動放棄執行後面的指令。 flock n tmprun.lockfile optrun.sh # crontab e 1 flock n tmprun.lockfile optrun.sh Timeout 引入singleton的概念後,其實會引發另一個問題。因為異常的情況,還有機會是不生不死,process hang。所以我們還需要設定一個最大的執行時間,讓你的process在異常的情況下,被強行清走。 例如,ping指令在linux預設是永遠不會自動停止的,可以模擬process hang的情況。如果我們想定時從外部收走ping process,就可以使用timeout指令。以下指令就是2分鐘後殺指ping process。 # in file optrun.sh timeout 2m ping localhost # to check process id, you could use # gt; ps aux grep ping # you will see two different id for ping and timeout 配合errorcode使用,你可能還會在想在timeout時送出一個email通知自已。 # in file optrun.sh timeout 2m ping localhost exitCode=$ if $exitCode eq 124 ; then echo quot;timeoutquot; # enter email alert with timeout elif $exitCode gt 0 ; then echo quot;exit with errorquot; # enter email alert with timeout else echo quot;exit normalquot; fi 配合docker使用,你可能需要考慮signal怎樣傳遞。 在筆者測試的環境中,似乎SIGTERM會被擋,也有可能是SIGTERM太強,它只把前景的docker container run收走,但其內的ping process還在docker daemon中行走。所以最後改用SIGINT,讓docker container run可以好好地把SIGINT傳入其內。 # It seems that docker captured the SIGTERM. Send SIGINT instead # in file optrun.sh timeout signal=SIGINT 10s docker container run rm pingtest c 20 exitCode=$ if $exitCode eq 124 ; then echo quot;timeoutquot; # enter email alert with timeout elif $exitCode gt 0 ; then echo quot;exit with errorquot; # enter email alert with timeout else echo quot;exit normalquot; fi Full demo, github repo cronjobWithDocker

《瑪利歐賽車巡迴賽》推坑介紹
手機‧電玩
MacauYeah・2023-05-12

《瑪利歐賽車巡迴賽》是一款由任天堂開發的手機平台賽車遊戲,不論大家是過去主機瑪利歐賽車系列的老手,還是首次接觸的新手,都值得試玩一下這款手機作品。筆者在免費手遊當中,曾試過不少爛作,通常教學模式一過,就已經刪掉。但這一款,筆者才玩沒幾天,就完全沉浸於遊戲當中。以下就讓筆者好好介紹它的特點。 與系列作相前,遊戲中的賽道是經過非常精心設計的。這些賽道不僅美麗,而且充滿挑戰性。玩家需要適應各種不同的地形和環境,如草地、沙漠、山區等。同時,比賽選手可以在賽道上放置各種陷阱,如香蕉皮、炸彈等,給遊戲帶來更多的不確定性和樂趣。 另一方面,豐富多樣的角色陣容亦是很引人注目的。筆者目測就角色已經有232個,再加290款車和206款滑翔翼,這麼多的組合絕對可以配搭出不同的Fashion(可以萬惡課金的源頭)。但這個角色、車、滑翔翼卡池,在筆者初步遊玩之下,並不影競速體驗。主要是因為它們影響的是特殊道具取得數和分數倍數,但跟車速無關,分數低,依然可以贏比賽,最得首名衝線。這也是跟主機系列最大不同的地方(如有錯誤,請告知筆者,筆者會再修正)。 分數最大的作用是取得完美通關,分數越高,通關後星星取得更多,就可以更快地抽取其他角色等。也就是大家不課金,還是可以贏比賽。課金,就更易完美通關,取得更多角色,更容易完美通關。

「我們的桌遊故事」書寫與圖像展已於周三開幕
文化創意
繪本與棋@黃庭熾・2022-12-24

  澳門青年桌遊教育學會「我們的桌遊故事 ── 書寫與圖像展」周三(12月21日)上午在G32 Gallery 影藝廊開幕。經過一個月的徵集,共選出12件富人文情懷、生活氣息濃厚的書寫與圖像作品,展覽期到2023年2月10日結束,歡迎蒞臨參觀。   是次展覽由澳門青年桌遊教育學會主辦,獲少權工作室、一夕桌遊、卓傑桌遊、遊戲男孩協辦,望德堂區創意產業促進會、G32 Gallery 影藝廊提供場地支持。作為澳門首次以桌遊為主題的徵集活動及展覽,活動得到了廣大桌遊玩家關注和樂於分享個人桌遊生活的參加者大支力持,參展的書寫與圖像作品內容多元,有對經典遊戲的禮讚、對體驗中旅行感的回味、對桌遊合作性與沉浸感的憶述、對過程中驚悚感的刻畫,不一而足,歡迎到場分享澳門桌遊社群對心頭好的熱情與想像。   「我們的桌遊故事 ── 書寫與圖像展」假G32 Gallery 影藝廊(聖美基街G32號地下)展出,每天上午十一時至下午六時(逢周一休息),免費參觀。   2022年第四季,「我們的桌遊故事」書寫與圖像展通過攝影作品聯乘文字的展現方式,與市民大眾分享桌遊帶來的喜悅,但不凡的旅程遠未結束,難忘的桌遊故事不勝枚舉,學會邀請愛好者們續按快門再揮毫,記下桌遊過程中的快慰時光,為美好生活留下凝練的紀錄 ── 「桌遊物語」攝影作品聯乘文字故事徵集活動由即日開始,至2023年6月12日(一)止。參加者遞交之作品如獲入選,將於澳門青年桌遊教育學會Facebook 專頁中以「每週一圖」的形式展出。   除徵集活動續杯添飲外,「我們的桌遊故事」書寫與圖像展另設有展場推廣活動,借展場的雅緻環境氣氛,推廣多元的桌上遊戲。展場推廣活動設兩單元,率先登場的為「中國桌遊體驗會」(2023年1月7日,15001600、16301730兩場),及帶人身歷其境的「桌上遊戲讀書會」(2023年1月14日,15001600、16301730兩場),務求通過特色的桌遊體驗,讓參加者感受到桌上遊戲多采的文化韻味。 延伸閱讀:挽碧藍世界於海獸肆虐時 延伸閱讀:走進「博物之門」 ── 桌上遊戲讀書會 延伸閱讀:在別致的澳門共讀點裡悦讀 ── 桌上遊戲讀書會

【馬交慳多拿baby】送90日健體課程|信用卡回贈達 $5,000 - 07.05.2021
生活在我城
Cheers!・2021-05-07

歡迎收睇《馬交慳多拿Baby》,今次繼續為大家搜攞澳門最抵優惠,當中包括餐飲、健身同電子支付優惠,唔想錯過就繼續睇落去啦~ 1.CyberCTM送你90日健體訓練計劃體驗 耀躍同澳門好幫手2.0 合作推出獨家健身優惠,原價3,000蚊,依家只要半價1,500蚊就有3個月任上團體課加5節1對1指導課,為夏天來臨前練好身型!去我哋CyberCTM Facebook 玩 giveaway仲有機會免費體驗呢個package!Giveaway做到5月11日咋,快啲參加喇~ Giveaway日期:55511 Giveaway傳送門:httpsbit.ly3nORMev 2.澳門銀河10周年優惠,立減$200, 信用卡回贈$5,000 澳門銀河為慶祝 10周年推出餐飲優惠,喺澳門銀河同百老匯指定餐廳用工銀信用卡簽賬立減最高 $200!信用卡回贈更高達 $5,000 餐廳選擇多又抵食呀! 簽賬滿$1,200立減$200 氹仔漁村(試業餐廳) 百樂潮州酒樓 庭園意大利餐廳 簽賬滿$600立減$100 蒙特卡洛巴黎咖啡館 風味小館 香港金牌海鮮火鍋 彭慶記 福龍葡國餐 鳳城禮記魚翅海鮮酒家 「匯食坊」ndash; 李家菜、梓記牛什、牛牛小食及新馬路成記粥品 來源:銀河 3.Starbucks x 中銀優惠 最高獲 $30 優惠券 中午想去嘆杯啡醒下神?依家中銀同Starbucks 有合作優惠活動,打開中銀 app 掃專屬活動二維碼,即可獲得高達 $30 嘅優惠券,快啲試下啦~ 來源:Starbucks 4. 南光App消費優惠 依家用豐付寶喺南光買嘢有著數,消費滿$150隨機立減最高$99 5.MPay x 豐收台葡國餐廳 x 御瀛日本料理 餐飲優惠 豐收台葡國餐廳或御瀛日本料理依家用 MPay 俾錢可享78折,出街食飯可以考慮下! 如果你有優惠情報想報料,歡迎 CyberCTM Facebook inbox、留言俾我哋知~

中銀澳門 雲閃滿$50回$10
生活在我城
MO560・2020-03-25

中銀澳門 雲閃付掃Code滿$50回$10 MO560 幫你精選銀行優惠 即日起至6月22日,憑中銀銀聯信用卡首六位卡號:622479、622480、622380於本澳指定商戶使用雲閃付掃Code交易銀聯二維碼消費,滿MOP$50以上的交易即可享MOP$10回贈。另外,本次優惠可以疊加中銀大灣區卡$5回贈同時享有!換言之,使用中銀大灣區卡在雲閃付進行掃Code交易的話,滿MOP$50以上共可獲MOP$15回贈。 中銀大灣區卡 詳情 優惠期內,每名客戶推廣期內最多可獲MOP$200回贈,即最多20次的$10回贈,回贈將於2020年7月31日存入。 另一方面,每月滿MOP$50的交易每累計6筆,即可獲贈MOP$20電召的士消費券,推廣期內最多可獲MOP$120電召的士消費券。客戶在電召的士登記的手機號碼需與中銀澳門登記的手機號碼相同,獲贈的消費券後需在兩個月內使用。 優惠詳情優惠內容:雲閃付掃Code滿$50享$10回贈優惠日期:即日起至2020年6月22日適用卡種:中銀銀聯信用卡回贈上限:MOP$200 即交易20次注意事項:必須是雲閃付的二維碼交易登記網址:無須登記 更多詳情關於以上活動,可查看: 中銀澳門 無接觸支付 方便又安心 喜歡小編的文章嗎?比個Like支持我啦 Facebook MO560Instagram mo560_travelWebsite httpsmotravel.info 想追蹤最新最潮澳門信用卡、飛行里數、旅遊資訊?將MO560設定為 「搶先看See First」!

【懷舊台風】滿滿台灣懷舊風味的手遊─恆樂町,一起打造您的專屬小鎮!
手機‧電玩
星爸爸茶座・2020-01-20

春節臨近,本期星爸推介一個滿滿台灣風味的休閒手遊給大家打發節日時間。恆樂町是一款2018年推出的經營類休閒手遊,推出時間雖較早,因遊樂類型較小眾化,相信很多朋友亦未曾聽聞,但其獨特的台灣風味也值得讓喜歡經營遊戲的朋友一試。 遊戲講述落泊主角來到名為恆樂町的小鎮,在這裡開始大展拳腳經營商業王國的故事。遊戲最特別就是其重塑1930年代台灣風貌,讓玩家體驗重臨該時代的生活,適逢春節活動,遊戲更增加趕年獸等小遊戲,玩家亦可按喜好裝飾自已的小鎮,如路面風格、街燈、春節裝飾等,讓玩家遊戲內外都感受到新春氣氛。 《恆樂町》星爸評分5星為最高: 畫面精緻度:3.0 ★★★ 上手困難度:1.0 ★ 遊戲耐玩度:1.5 ★☆ 綜合娛樂性:2.5 ★★☆ 適合人群: 喜愛經營管理遊戲朋友、著迷懷舊建築風格人士。 後記: 製作團隊考察大量台灣歷史照片及影像,希望能忠實重塑台灣當年面貌給玩家,星爸感受到團隊滿滿的誠意與對台灣本土的熱愛。星爸心想澳門為中西文化匯粹之地,特色文化元素遍地皆是,如有熱心人士可否製作類似遊戲,以中葡風格建築、手信店鋪等為背照,或加入舞醉龍、賽車、巡遊等特色元素,除可為推廣玩家來澳門旅遊外,亦可在遊戲中推廣本地美食、特色手信及相關優惠,想起來也是挺不錯的,星爸很期待這一天的到來。 IOS連結 httpsitunes.apple.comappid1345776363 Android連結 httpsplay.google.comstoreappsdetailshellip; 喜歡本文請不忘點讚及分享,或到星爸爸茶座閱讀更多文章,亦歡迎到Facebook交流指正,謝謝閱讀。

[冷知識] 古老電競 - Speedrun
手機‧電玩
MacauYeah・2018-09-20

大部份人入手新遊戲,相信都很在乎兩件事1. 新鮮感刺激感 2. 遊戲類型就算以現時電競遊戲流行的年代,新鮮感刺激感,都是歷久不衰的守則。電競遊戲,說新鮮感可能扯不上,但刺激感一定很實在。為何同一款電競遊戲,年年都會微調系統 因為一方面可以制衡,另一方面就是為了制造更多精彩逆轉可能性。之不過,今日為大家介紹的,並不是現今的電競,而是很早很早就存在的Speedrun。大家一聽到名,可能就會聯想起賽車遊戲,畢竟Speedrun直譯就是競速。Speedrun顧名思義,真的是「鬥快」,但最初真能興起熱潮的,並不是賽車遊戲,而是射擊遊戲Doom。概據wiki,第一款,有紀錄,有被用來Show off的遊戲是1993年的Doom。主要是因為裏面有一個可以記錄玩家的遊玩過程,因此可以用來分享炫耀他人。Wiki Speedrun逐漸地,亦有其他非線性遊戲出現作為比賽炫耀。詳細大家可以看看wiki。為何要介紹Speedrun因為在競技層面上,它比現今比賽的強度較弱,更加適合業餘玩家參與。而且Speedrun,可以為一款舊遊戲帶來更長的壽命。當你看到別人的投稿影片,真的會得到一股更奇異的鮮感,原來一款遊戲,可以這樣玩。以下就順便介紹一下我幾推薦的Speedrunner calebhart42 Rockman X Mega man X 的霸主。你以為他是肥宅,只玩動作遊戲嗎 不,他是健身股肉人,而且不單止跑動作戲,連RPG都會投稿。最近更挑戰FF VII 100%24小時鐵人賽。qttsix 你以為他是弓戈肥宅,只玩老遊戲嗎 不,他是很瘦,而且會挑戰Dark Souls系列。五刀砍死一個Boss,對比自己,你真的覺得自己是不是有肢體障礙。macauyeah 那就是小弟了。哈,只是順路抽個水。如果覺得我的文章還看得下,記得Following我們的 twitch 和 youtube

戀愛・電影館浪漫呈獻:【情謎梵
娛樂殿堂
Andrina・2017-10-19

🎤quot;Starry Starry Night...Paint your palette blue and gray....quot; 🎤 唔知大家有無聽過上面呢首歌呢?lt;Vincentgt; 係一首紀念荷蘭名畫家梵高嘅歌,歌詞描述咗好多梵高嘅畫作以及對佢嘅祟拜。而今年亦將會有一部關於梵高嘅電影上映,仲係全球首部全手繪油畫動畫電影!尋日發現原來澳門戀愛・電影館會於21211上映【情謎梵高】,有興趣嘅人士快d去買票睇啦! 戀愛・電影館喺今年3月正式對外開放,樓高3層,係一個集合電影欣賞、本土影像保存、以及電影書籍閱讀等功能的空間。我唸喺戀愛・電影館入面睇電影應該幾浪漫~嘻嘻! 圖片 httpsmacau.moviecinemas5圖片 httpwww.gcs.gov.mofilesnewsAttachment110030ICM0224032017.jpg rarr;在此購票larr; 導演:多羅特高比拉、曉治韋舒曼 全球首部全手繪油畫動畫電影《Loving Vincent》,籌備經年,由125名油畫家耗時數年,以梵高的筆觸完成65,000幅手繪油畫,製作出電影每格畫面,震撼呈現梵高傳奇,未完成已備受全球觀眾矚目! 今年六月十三日於安錫國際動畫電影節 Annecy International Animated Film Festival 舉行全球首映,完場時全場起立鼓掌逾10分鐘,除贏得「觀眾票選大獎」,更獲影評譽為「前所未有的大師級作品」! 電影將梵高 Vincent Willem van Gogh, 18531890 的名畫及畫中人,變成栩栩如生的手繪油畫動畫,描繪出梵高的藝術生命、人生起落、以及其神秘之死hellip;。 導演簡介 多羅特高比拉是波蘭華沙藝術學院的畢業生,曾連續四年獲得文化部長的獎學金,以表揚她在繪畫和平面造型藝術的特別成就。《情謎梵高》是她首部劇情長片,其驚人的魄力與精緻藝術立即技驚四座、震撼全球。而在情片之前,她曾攝製數部動畫短片。 曉治韋舒曼則是生於1975年的英國人,持有牛津大學的政治、哲學及經濟學學位。曾參與製作多部得獎短片,包括榮獲2008年奧斯卡最佳動畫短片的《彼得與狼》。 laquo;以上資料取自戀愛・電影館raquo; 戀愛・電影館 網址:httpwww.cinemathequepassion.mocnHome Facebook:httpswww.facebook.comCinemathequePassion 🐟🐟

懶人廣島之旅
走遍世界
早記・2017-10-06

暑假時想獨自放個假,去一個懶人之旅。咁啱見到7月時廣島既機票幾平,就去了一個漫無目的之旅XD 主要行程是發呆 去老街買舊野,雖然戰利品不多,但發呆這點非常滿足,如果你想找個地方休息幾日的話,大推荐廣島 第一站廣島巿內 頭3天在廣島巿內閒逛,住的是青年旅館,女生房間是8人一間,環境蠻好的,旅館地下有兼做酒吧,觀光回來還可以喝一杯XD 旅館在民居之中,晚上很安靜 對旅館有興趣的請由此去:Roku Hostel Hiroshima 広島ゲストハウス 碌 facebook httpswww.facebook.comroku.hostelref=br_rs 到了觀光客必去的平和紀念公園原爆廣場 第二站尾道老街 本來想看看能不能買到舊物,但結果...只是來吃飯的XD 第三站宮島 風景優美的景點,有宮島日本三景之一的嚴島神社。早上遊客很多,但5點後遊客就差不多都離開了。非常推荐可以來住12晚。 宮島上非常有名,拿過米之蓮一星的「ふじたや」 穴子飯。除了飯好吃,連小菜都非常不錯 想起都流口水 宮島充滿了鹿這只是不是想吃飯XD 黃昏的宮島神社真的非常美 這個旅程還完成了我一個小小的心願 在日本夏天的夜晚祭典看煙火 「広島みなと 夢 花火大会」httpwww.minatoyumehanabi.com 在我心中廣島就是這麼個充滿純樸氣息的地方,有機會就去放鬆一下心靈吧XD