📜 [專欄新文章] Gas Efficient Card Drawing in Solidity
✍️ Ping Chen
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Assign random numbers as the index of newly minted NFTs
Scenario
The fun of generative art NFT projects depends on randomness. The industry standard is “blind box”, where both the images’ serial number and the NFTs’ index are predetermined but will be shifted randomly when the selling period ends. (They call it “reveal”) This approach effectively solves the randomness issue. However, it also requires buyers to wait until the campaign terminates. What if buyers want to know the exact card right away? We’ll need a reliable onchain card drawing solution.
The creator of Astrogator🐊 isn’t a fan of blind boxes; instead, it thinks unpacking cards right after purchase is more interesting.
Spec
When initializing this NFT contract, the creator will determine the total supply of it. And there will be an iterable function that is randomly picking a number from the remaining pool. The number must be in range and must not collide with any existing ones.
Our top priority is accessibility/gas efficiency. Given that gas cost on Ethereum is damn high nowadays, we need an elegant algorithm to control gas expanse at an acceptable range.
Achieving robust randomness isn’t the primary goal here. We assume there’s no strong financial incentive to cheat, so the RNG isn’t specified. Implementers can bring their own source of randomness that they think is good enough.
Implementation
Overview
The implementation is pretty short and straightforward. Imagine there’s an array that contains all remaining(unsold) cards. When drawIndex() is called, it generates a (uniform) random seed to draw a card from the array, shortens the array, and returns the selected card.
Algorithm
Drawing X cards from a deck with the same X amount of cards is equal to shuffling the deck and dealing them sequentially. It’s not a surprise that our algorithm is similar to random shuffling, and the only difference is turning that classic algo into an interactive version.
A typical random shuffle looks like this: for an array with N elements, you randomly pick a number i in (0,N), swap array[0] and array[i], then choose another number i in (1,N), swap array[1] and array[i], and so on. Eventually, you’ll get a mathematically random array in O(N) time.
So, the concept of our random card dealing is the same. When a user mints a new card, the smart contract picks a number in the array as NFT index, then grabs a number from the tail to fill the vacancy, in order to keep the array continuous.
Tweak
Furthermore, as long as the space of the NFT index is known, we don’t need to declare/initialize an array(which is super gas-intensive). Instead, assume there’s such an array that the n-th element is n, we don’t actually initialize it (so it is an array only contains “0”) until the rule is broken.
For the convenience of explanation, let’s call that mapping cache. If cache[i] is empty, it should be interpreted as i instead of 0. On the other hand, when a number is chosen and used, we’ll need to fill it up with another unused number. An intuitive method is to pick a number from the end of the array, since the length of the array is going to decrease by 1.
By doing so, the gas cost in the worst-case scenario is bound to be constant.
Performance and limitation
Comparing with the normal ascending index NFT minting, our random NFT implementation requires two extra SSTORE and one extra SLOAD, which cost 12600 ~ 27600 (5000+20000+2600) excess gas per token minted.
Theoretically, any instantly generated onchain random number is vulnerable. We can restrict contract interaction to mitigate risk. The mitigation is far from perfect, but it is the tradeoff that we have to accept.
ping.eth
Gas Efficient Card Drawing in Solidity was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有24部Youtube影片,追蹤數超過40萬的網紅糖餃子Sweet Dumpling,也在其Youtube影片中提到,Hello friends! Today we're going to share with you how to make the crispy and golden Belgian fries and the most classic sauce andalouse. Frites are t...
「not only but also教學」的推薦目錄:
- 關於not only but also教學 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於not only but also教學 在 Eric's English Lounge Facebook 的最佳解答
- 關於not only but also教學 在 美國在台協會 AIT Facebook 的精選貼文
- 關於not only but also教學 在 糖餃子Sweet Dumpling Youtube 的最讚貼文
- 關於not only but also教學 在 Taiwan Bar Youtube 的最佳貼文
- 關於not only but also教學 在 【科學減肥】香港健身小老闆 Zoe 李芷慧 Youtube 的最佳解答
- 關於not only but also教學 在 not only but also造句在PTT/Dcard完整相關資訊 - 輕鬆健身去 的評價
- 關於not only but also教學 在 not only but also造句在PTT/Dcard完整相關資訊 - 輕鬆健身去 的評價
- 關於not only but also教學 在 結構可以再更平行Not only...but also... 的評價
- 關於not only but also教學 在 not only but also教學在PTT/Dcard完整相關資訊| 小文青生活-2021年 ... 的評價
- 關於not only but also教學 在 not only but also教學在PTT/Dcard完整相關資訊| 小文青生活-2021年 ... 的評價
- 關於not only but also教學 在 not only that用法在PTT/Dcard完整相關資訊 - 遊戲基地資訊站 的評價
- 關於not only but also教學 在 not only that用法在PTT/Dcard完整相關資訊 - 遊戲基地資訊站 的評價
not only but also教學 在 Eric's English Lounge Facebook 的最佳解答
翻轉視界 18 Changing Perspective
There's not just one road to the destination, but many roads. You just need to take the little step that’s right in front of you, and then the next one, and a few years down the track, they will seem like massive achievements.
通往目的地的路不止一條,有很多路可走。你只需要邁出眼前這一小步,然後再邁出下一步,幾年下來,將會成為巨大成就。
文章來自於New Humans of Australia (有取得授權)
★★★★★★★★★★★★
I didn’t meet my father until I was 6 years old. My parents had a comfortable, middle-class life in Shanghai, or as close as you could get under communism. But they always wanted to live overseas, and just before I was born, my dad came to Sydney to set things up. I don’t know why, but in the end, my mother and I didn’t join him until I was 6.
•a middle-class life 中產階級生活
•set things up 打點一切
•live overseas 往海外生活
•in the end 最後 (表達在經過一段時間或一連串事件之後的結果)
直到六歲前我都未曾見過父親。我的雙親在上海過著舒適的中產階級生活,或著說,在共產階級下所能得到的最接近的生活。他們一直響往海外生活,就在我出生前,我父親來到雪梨打點一切。但不知何故,直到六歲那年我與母親才終於與父親團聚。
★★★★★★★★★★★★
Unfortunately, half a year after we arrived, he left us. That was a huge shock. Our transition had already been quite difficult, as we both didn't speak English. Also, as Shanghai was such a big bustling city, Sydney felt a bit like the countryside, especially on the weekends, as no shops were open back then!
•shock 令人震驚的事件(或經歷);驚愕,震驚 (come as a great shock 讓人倍感震驚)
•transition 轉變;過渡
•a bustling city 繁華都會
不幸的是,就在我跟母親抵達半年後,父親離開了我們。這是個巨大的打擊,因爲我們不會說英文,在適應過渡期本就已過得相當艱辛。此外,不同於上海的繁華都會,雪梨更像鄉下,尤其在週末,那時連商店都不開門。
★★★★★★★★★★★★
We were very much reliant on my dad, not only financially, but also as a conduit into the wider community. So to have that broken was quite distressing. I remember Mum crying a lot. As we had become socially isolated, we didn’t find out anything about Centrelink, so we survived on her savings for a while, and then got some help from her family back in China.
•be reliant on… 依賴...
•a conduit into 進入...的渠道
•distressing (adj.) 令人苦惱的,令人擔憂的
•become socially isolated 變得孤立於社會
•survive on her savings 僅靠的她積蓄過日子
我們相當依賴我父親,不僅是經濟,他也是我們進入更廣泛社區的渠道。因此,當局面被打破時令人相當痛苦,我還記得母親時常哭泣。由於我們孤立於社會,所以我們並不知道澳洲社會福利聯絡中心 (Centrelink)的任何資訊,僅靠母親的積蓄支撐了一段時間,然後從母親在中國的娘家得到一些幫助。
★★★★★★★★★★★★
Eventually, Mum moved us down to Melbourne, where we were able to make some new networks and family friendships. But I was bullied a bit at school about things like my food and clothing! Whenever someone bullied me, I would defend myself, but because I didn’t have the language skills to explain to the teacher why, I got in trouble quite a bit. I ended up having to move school 3 times before I came to Balwyn Primary School, which was relatively multicultural.
•be able to 能夠
•make new networks 建立新的人脈,關係網
•be bullied 被霸凌
•language skills 語言能力
•get in trouble 惹上麻煩
•end up 最後處於;最後成爲;以…告終
•relatively 相對地
•multicultural 多元文化的
最後,母親帶著我搬遷到墨爾本,在那我們能夠建立起新的網絡與家庭情誼。然而。我在學校飽受霸凌,例如我的食物及衣物。每當有人霸凌我,我會自我防衛,但我的語言技巧不足以向老師解釋事發原因,因此常常陷入麻煩。後來我不得不再三轉學,直到就讀相對多元文化的博文小學(Balwyn Primary School)。
★★★★★★★★★★★★
After that, I did alright. Music featured very prominently in my life. I had started learning the violin from the age of 2.5 years old and even with all the troubles that were going on in my life, had somehow still kept up with it. As a result, I got a music scholarship to Trinity Grammar School. But even there I used to get into quite a lot of mischief, and would often skip school to go to the movies.
•do alight 過得不錯,做的不錯
•feature (v.) 以…為特色;給…以顯著的地位
•prominently 重要地;著名地;突出地,顯眼地
之後,我便過得不錯。音樂在我生活中佔有重要的一席之地,我從兩歲半開始學習小提琴,儘管生活中事事不如意,我依然堅持不輟。因此,我獲得三一文法學校( Trinity Grammar School)的音樂獎學金。但即使在那,我也常惡作劇、逃學看電影。
★★★★★★★★★★★★
By the end of year 11, I was told I would have to either repeat the year, or consider going to another school, which was quite humiliating for my mum. I decided to move school and surprisingly, I ended up doing quite well in year 12! As a result, I ended up getting into a double degree in Law and Music at Monash.
•repeat the year 留級 ; 重唸一年
•humiliating 令人感到恥辱的,丟臉的
11年級結束時,我被告知要麽被留級,要麼考慮轉學,這對我母親來說相當丟人。我決定轉學,而令人驚訝的是,我在12年級的時候表現優異,最後錄取蒙納士大學法律與音樂雙學位。
★★★★★★★★★★★★
When I started, my first thought was that I didn’t belong because I had done so badly in school up to year 11 and everyone else seemed so smart. But I put my head down, got through it, and ended up getting a job in the legal department of a major manufacturing company, which was a different approach to what most law students do.
•do not belong 不屬於這
•put my head down 埋頭苦幹
•the legal department of ...的法律部門
•a different approach 不同途徑
•approach (思考問題的)方式,方法,態度
當我開始進入大學,最初的想法是我不屬於這,因為我在11年級前都表現不佳,而這裡的人似乎都聰明絕頂。但我埋頭苦幹,咬牙撐過,最後在一家大型製造公司的法律部門找到工作,這與多數法律系學生的途徑不同。
★★★★★★★★★★★★
I really enjoyed it. It was hard work, but I learned a lot of foundational business, legal and corporate communication skills. After that I worked in corporate governance in RMIT, then started to moonlight as a lecturer in the Law Faculty. Eventually, they asked me if I wanted to do a PhD and I blindly said yes! I next worked at Swinburne University, and then was head-hunted to lead the corporate legal team at the Commercial Passenger Vehicles Commission.
•foundational 基礎的
•communication skills 溝通技巧
•corporate governance
•moonlight (v.) (尤指瞞著僱主)從事第二職業,兼職
•headhunt (v.) 物色(人才); 挖角
•legal team 法律團隊
我非常喜歡這份工作,這是份辛苦的工作,但我學習了很多基礎商業、法律以及公司溝通技巧。之後我在皇家墨爾本理工大學( RMIT)從事公司治理工作,並開始兼職擔任法律系講師。後來他們問我是否想要讀博士,我便盲目地答應了。接下來,我在斯威本大學(Swinburne University)工作,再被挖角到商用小客車委員會領導法律團隊。
★★★★★★★★★★★★
I had a good life, but after a while, I realised I wanted a different kind of job. I could see my seniors were making a lot of money but that their family life was not that good. And looking at my own upbringing, I wanted to be the kind of father who could be present in my own kids’ lives. So I decided on dentistry. It would not only allow me to use the hand skills that I had developed from playing the violin, but also the analytical and reasoning skills that I'd developed in law. Plus it would be flexible, and offer me a stable income and the chance to meet different people every day!
•upbringing 教養
•decide on sth 決定某事或東西
•analytical and reasoning skills 分析和推理能力
•offer a stable income 提供穩定收入
我的生活很不錯,但一段時間後,我意識到自己想要一份不同的工作。我知道前輩們賺了很多錢,但他們的家庭生活並不美滿。看著自己的成長經歷,我想要成為可以在孩子生活中出席的父親,所以我決定改行當牙醫。這項職業能讓我使用從拉小提琴中發展出的手部技巧,也能運用我在法律中發展出的分析與推理技能。此外,這個職業相當靈活,能為我提供穩定收入,並有機會每天與不同的人見面。
★★★★★★★★★★★★
My now fiancée, who was my girlfriend at the time, was also applying for further study, and coincidentally we both got into university in South Australia, so we moved to Adelaide together a few years ago.
•fiancée 未婚妻
•at the time 當時
•apply for 申請
•further study 繼續教育,進修;進一步研究;深造
•coincidentally 碰巧地;巧合地
我的未婚妻,當時的女友,也申請繼續深造,巧的是我們都考上南澳大學(University of South Australia),所以幾年前一起搬到阿得雷德( Adelaide)。
★★★★★★★★★★★★
I was lucky to get a university job at Flinders University. Initially, I started out as a casual lecturer in the law school, but I’ve since transitioned into teaching health law and research, and I’m currently writing a few books on the intersection between law and medicine. And also, obviously, trying to finish my dentistry degree!
•start out as… 起初擔任...
•transition into… 轉變到...
我很幸運的在福林德斯大學(Flinders University)找到工作,起初我在法學院擔任臨時講師,但我後來轉換到醫事法教學及研究。目前我正撰寫幾本關於法律與醫學相接的書籍,並努力完成我的牙醫學位。
★★★★★★★★★★★★
Mum eventually retrained as a Chinese high school teacher, and she’s still teaching to this day. Like most first generation migrants, she struggled quite a lot, and invested heavily in my success. After we’re married, my fiancée and I are planning to have children, and I’m sure they will have it much easier than I did.
•retrain 重新培養;再培訓;再訓練
•to this day 至今
•first generation migrants 第一代移民
•struggle a lot 掙扎奮鬥許久
•have it much easier 過的比較輕鬆
我的母親最終重新接受培訓,成為一名中文高中老師並執教至今。如同大多數第一代移民,她掙扎奮鬥許久,並為我的成功投資甚多。我與未婚妻打算婚後生孩子,我確信孩子會過的比我輕鬆得多。
★★★★★★★★★★★★
Still, a lot of the failures that I’ve had in my life have really informed a lot of my successes. Looking back, I wouldn't really want to change that to have a smoother life.
•inform [正式] 影響某人的態度或意見
https://www.ldoceonline.com/dictionary/inform
•have a smoother life 有一個更順遂的人生
我的生活中的種種失敗確實為我的成功提供借鑑。回首過去,我不會想要改變那些坎坷經歷去擁有一個更順遂的人生。
★★★★★★★★★★★★
Over the years, I've learned that perseverance is very important. I hope that through telling my story, I can be an example to others who might be in a similar position as I was: to show that there's not just one road to the destination, but many roads. You just need to take the little step that’s right in front of you, and then the next one, and a few years down the track, they will seem like massive achievements.
•over the years 多年來
•perseverance 不屈不撓,堅持不懈
•be an example 成為榜樣
•be in a similar position 處於相似的處境
•down the road/line/track 將來(的路)
多年來,我學到堅持不懈是至關重要的。我希望透過講述自己的故事,能成為其他可能與我有相似處境的人的榜樣:向他們展示通往目的地的路不止一條,有很多路可走。你只需要邁出眼前這一小步,然後再邁出下一步,幾年下來,將會成為巨大成就。
有興趣的同學可以支持New Humans of Australia
www.patreon.com/newhumansofaustralia
Photographer: Paul Heinrich instagram.com/paulfheinrich
文章與圖片出處: https://bit.ly/2XJsciq
★★★★★★★★★★★★
翻轉視界: http://bit.ly/3fPvKUs
批判性思考問題大全: http://bit.ly/34rdtJ7
not only but also教學 在 美國在台協會 AIT Facebook 的精選貼文
你知道台灣擁有全球數一數二大的 #傅爾布萊特英語協同教學助理 (ETA) 計劃嗎?傅爾布萊特英語協同教學助理 (ETA) 計畫是全球公認最高標準的國際教育交流計畫之一。ETA計畫負責遴選剛畢業的優秀美國大學生和美國英語教師,並安排他們到海外協助當地英語教師授課。本計畫除了推動英語教學之外,也促進跨文化的深度交流。美國致力於 #台美教育倡議 ,也很高興能透過傅爾布萊特的ETA計畫支持台灣的雙語教育。ETA計畫最早從2003年宜蘭的8名ETA美籍英語助教開始,至今已擴展至148名助教,遍及全台13個縣市。更多關於傅爾布萊特台灣ETA計畫的資訊請見:https://taiwan-etaprogram.org/
#台美教育倡議 #Fulbright75 #EnglishTeachingAssistant #USTWEducationInitiative
Did you know that Taiwan has one of the largest Fulbright English Teaching Assistant (ETA) programs in the world? The Fulbright ETA Program, globally recognized as one of the highest standards of international education exchange, places Fulbrighters in classrooms abroad to provide assistance to local English teachers. The United States is committed to the U.S.-Taiwan Education Initiative and is excited to continue supporting Taiwan’s bilingual education through the Fulbright ETA program. By bringing together newly graduated Americans and local English teachers, the program promotes not only English language learning but also cross-cultural exchange. The program first began in Taiwan in 2003 with eight ETAs in Yilan and has now expanded to include 148 ETAs in 13 counties/cities. Learn more about the Fulbright Taiwan ETA program here: https://taiwan-etaprogram.org/
not only but also教學 在 糖餃子Sweet Dumpling Youtube 的最讚貼文
Hello friends! Today we're going to share with you how to make the crispy and golden Belgian fries and the most classic sauce andalouse.
Frites are the most famous and popular snack in the world, but are far more than just a snack in Belgium, it’s a national Belgian symbol. Even Though people called it “French fries”. But believe it or not, these golden brown and crispy fries might be a Belgian creation.
In this video, we are going to tell you the secret to making the perfect Belgian fries. There is no fancy skill to make these crispy fries, the only tip is double-fried. So easy, right? By the way, once the fries are ready to golden perfection, don’t forget to try the most classic sauce with it. We strongly recommend sauce andalouse, which is a mix of peppers, mayonnaise, tomato paste, also the most famous topping with fries in Belgium. Let’s get started.
📍 Please follow me on Instagram: https://www.instagram.com/sweetdumplingofficial/
📍 Welcome to follow me on FB: https://www.facebook.com/sweet.dumpling.studio/
-----------------------------------------------------------------------
How to make Belgian Fries and Sauce Andalouse
📍 Ingredients
☞ For fries
large potato 1, about 260~280g
salt 1g
sunflower oil or any deep-frying oil
☞ For Sauce andalouse
mayonnaise 125g
salt 0.8g (about ⅛ tbs)
tomato paste 14g (about 1 tbs)
onion 9g (about 1tbs)
red pepper 9g (about 1tbs)
green pepper 9g (about 1tbs)
fresh lemon juice 4g (about ½ tbs)
📍 Instructions
☞ For Sauce Andalouse
1. Chop red pepper, green pepper and onion finely.
2. In a medium bowl with mayonnaise, add the tomato paste, black pepper, salt, chili powder, finely chopped onion, red pepper, green pepper and lemon juice, then mix all the ingredients together. Cover with plastic wrap and place in the fridge for at least one hour.
☞ For fries
3. Brush and rinse potatoes under cool water, then peel the skin and dry it in a clean dish towel.
4. Cut the potatoes into discs in 1cm thickness, then cut the discs into fries into 1cm squares.
5. Wash them in cold water two or three times until the water just becomes clear.
6. Dry them with a towel or kitchen paper until they are completely dry.
7. Pour the oil in a deep fryer and when the temperature reaches 150°C, fry the potatoes for 3 minutes.
8. Take the fries out of the fryer and transfer them into a baking tray which is lined with kitchen paper. Let the kitchen paper absorb the excess oil. Let the fries cool down for about 20 minutes.
9. Reheat the fryer to reach 190°C, and fry the fries for 2-3 minutes or until they are crispy and golden.
10. Take them out of the oil. Sprinkle it with salt. Serve with Sauce Andalouse.
-----------------------------------------------------------------------
Chapter:
00:00 opening
00:34 Ingredients
01:27 How to make sauce andalouse
03:29 prepare potatoes
06:10 first fry
08:40 final fry
-----------------------------------------------------------------------
#BelgianFrites
#FrenchFries
#SauceAndalouse
not only but also教學 在 Taiwan Bar Youtube 的最佳貼文
#歡迎光臨臺灣吧 #開啟雙語CC字幕 #日治時期 #歷史 #皇民化運動
日本政府在臺灣推動內地延長主義2.0的皇民化運動,
講國語、改名字的乖寶寶都好潮好棒棒。
是什麼神秘不可解的原因,讓大家願意改變
慣用的語言、習慣甚至是宗教習俗?
又出於什麼動機,
讓大家告別親愛ㄟ媽媽、袂當陪愛人去看電影,
搶破頭都要加入國軍上戰場,
到一個血書明志的地步勒?
Do you know that the biggest social movement in Taiwan can be traced back to the period of Japanese rule? That is the Petition Movement for the Establishment of a Taiwanese Parliament. It lasted 14 years and evoked the public awareness of being Taiwanese. In this video, we will not only talk about this movement but also the communist party in Taiwan. Share this video with your friends and don’t forget to like TaiwanBar’s Facebook fan page!
📚 參考資料與延伸閱讀
周婉窈,《臺灣歷史圖說》臺北:聯經出版公司,2009
周婉窈,《海行兮的年代》臺北:允晨文化,2003
遠流臺灣館,《臺灣史小事典》臺北:遠流出版公司,2000
竹中信子著,熊凱弟譯,《日治台灣生活史──日本女人在台灣(昭和篇1926-1945)》臺北:時報文化,2009
_
🍺 想了解 #臺灣吧 多一點點
訂閱YouTube頻道,新片不漏追| https://lihi.cc/0SEYv
瞧瞧Facebook,會有YT沒有的貼文和影片|https://lihi1.com/KUtvp
追蹤Instagram,限動看個夠|https://lihi1.com/OD9Bb
🍺 想了解 #黑啤 多一點點
Facebook 很可愛|https://www.facebook.com/beeru.official/
Instagram 必追|https://www.instagram.com/beeru_tw/
同時也是 YouTubear|https://lihi1.com/gXg6U
臺灣吧線上賣場,很好買慎入|http://taiwanbar.shoplineapp.com/
合作邀約,來酒吧聊聊吧|business@taiwanbar.cc
not only but also教學 在 【科學減肥】香港健身小老闆 Zoe 李芷慧 Youtube 的最佳解答
#斷食 #人工代糖 #胰島素阻抗
會進行斷食的朋友一定要小心噢
全部都不適合在斷食期間吃:
1 健怡可樂
2 香口膠
3 bcaa, collagen
4 防彈
5 ?
關於香口膠的補充:
As u can see sugar free gum contains Maltitol and Maltodextrin in the video, I have mentioned Maltodextrin has GI 110 and explained how worse it is.
However, Maltitol (with GI only 2 in the table) is the unhealthiest. Maltitol is a sugar alcohol that has been artificially processed from starches. It cannot be fully digested so it causes indigestion. It makes you bloat and many gas. It may also cause Diarrhea and stomach pain. Last but not least, it triggers high insulin and therefore can lead to weight gain in the long term.
超實用 -記得抄筆記!
【跟教練做運動系列】
4mins HIIT 超燃脂間歇訓練丨美女們減肥生捱的秘訣
https://youtu.be/IMSrZKzS5QE
居家運動 20mins 全身消脂HIIT
https://youtu.be/V0HM4A32h4k
【科學減肥系列】
持久不復胖的減肥科學10大問題
https://youtu.be/PcHoW3VAFu8
如何減脂不減胸?
https://youtu.be/DIRFQ632yIE
脂肪去哪兒 ?
https://youtu.be/c-zEK2e06zY
增肌/減脂適合你?蛋白質 吃多少克?
https://youtu.be/N5vxgYtf9RE
【Zoe精選食譜系列】
健身每天早餐丨牛油果or朱古力蛋白奶昔碗 丨無敵低醣甜點丨
https://youtu.be/DIRFQ632yIE
【Zoe生酮必看系列】
生酮前要想清楚 !好處壞處I 內附健身教練身體檢查
https://youtu.be/KEGTjaUOSpc
生酮飲食吃什麼? 超市必備
https://youtu.be/LixYQVt5bL0
iHerb開箱 l 生酮減肥必買清單
https://youtu.be/N-VDDTjIcBQ
大家好,我係 Zoe,係一個好為食又好貪靚ge健身教練
希望大家喜歡和訂閱:
?YOUTUBE: http://www.youtube.com/c/ZoeSportDiary
?IG: https://www.instagram.com/zoesportdiary/
not only but also教學 在 not only but also造句在PTT/Dcard完整相關資訊 - 輕鬆健身去 的推薦與評價
not only ... but also 的用法,Quentin寫作報,Blog - 登峰美語2017年12月14日· 下一篇:24/7 是什麼意思? 想瞭解登峰語言相關課程,請填妥下列相關 ...英文「not only…but ... ... <看更多>
not only but also教學 在 結構可以再更平行Not only...but also... 的推薦與評價
結構可以再更平行Not only...but also ---修辭篇☆ 英文的句子就像天枰一般,追求"平行",這樣的準則在英語修辭學中,是很被要求的,更為極為重視" ... ... <看更多>
not only but also教學 在 not only but also造句在PTT/Dcard完整相關資訊 - 輕鬆健身去 的推薦與評價
not only ... but also 的用法,Quentin寫作報,Blog - 登峰美語2017年12月14日· 下一篇:24/7 是什麼意思? 想瞭解登峰語言相關課程,請填妥下列相關 ...英文「not only…but ... ... <看更多>