📜 [專欄新文章] 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.
👏 歡迎轉載分享鼓掌
同時也有838部Youtube影片,追蹤數超過1萬的網紅愛睏熊,也在其Youtube影片中提到,2021 《爐石戰記》大師職業賽 | 2021 Hearthstone Grandmasters 比賽影片來源:https://www.youtube.com/watch?v=xwUROj1e8hA&t=1s&ab_channel=%E7%88%90%E7%9F%B3%E6%88%B0%E8%A...
「this that教學」的推薦目錄:
- 關於this that教學 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於this that教學 在 Eric's English Lounge Facebook 的最佳貼文
- 關於this that教學 在 國立臺灣大學 National Taiwan University Facebook 的精選貼文
- 關於this that教學 在 愛睏熊 Youtube 的最讚貼文
- 關於this that教學 在 愛睏熊 Youtube 的最佳解答
- 關於this that教學 在 愛睏熊 Youtube 的最佳解答
- 關於this that教學 在 Dance with Stars: 高中職的英語教學 - Facebook 的評價
- 關於this that教學 在 盤點5 個最夯英語教學Youtuber:學習技巧 - 報橘 的評價
- 關於this that教學 在 【英文教學Youtuber 推薦】6個超用心的國內 - 英文庫 的評價
this that教學 在 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
this that教學 在 國立臺灣大學 National Taiwan University Facebook 的精選貼文
【教務處開學防疫相關措施】
Relevant prevention measures for the upcoming semester of the Office of Academic Affairs
.
各位好:
因應嚴重特殊傳染性肺炎疫情發展,除校方發布各項防疫措施外,有關教學及其相關申辦業務,請各單位依據以下措施配合辦理:
一、110-1學期開學後前三週全面採遠距教學,授課教師應將上課網址及課程相關訊息公告於課程大綱 (有關NTU COOL課程網頁如何設為公開,詳見 https://www.dlc.ntu.edu.tw/2021/09/09/visibility/ )。實驗、實作或人數較少的研究所課程若需採實體授課,須依以下規範辦理:
(一) 落實課堂點名並禁止在教室內飲食。
(二) 上課教室應保持通風良好及定時清消。
(三) 全程配戴口罩,並維持安全社交距離 (1.5米或2.25平方米)。
(四)於110年9月24日前提出申請送教務處核定:申請表詳見課務組公告 https://www.space.ntu.edu.tw/navigate/s/CB679CFFA6134C83B4964E40A30A460AQQY
二、開學後第四週起上課方式,修課人數80人(含)以上課程採遠距教學,80人以下以實體課程為原則,特殊情形請於110年10月12日前提出申請送教務處核定:申請表詳見課務組公告 https://www.space.ntu.edu.tw/navigate/s/CB679CFFA6134C83B4964E40A30A460AQQY
(一) 採實體授課者,仍須依前述防疫規範辦理。
(二)本校鼓勵教師以數位和實體並行的混成方式進行教學準備,詳細資訊請見數習中心網站: https://www.dlc.ntu.edu.tw/2021/09/08/blended-teaching/
三、本學期加退選、停修彈性做法如下:
(一) 解除擋修、超修及減修申請書: 老師及系主任可親簽或用郵件代替簽名,請同學將申請書及相關同意證明以email寄至所屬教務單位承辦人。
(二) 開學後第一、二週加退選:
1.第1、3類方式加選:照舊(上網登記分發)。
2.第2類方式加選(授權碼): 建議老師可用信件傳遞授權碼予學生加選,並記錄學號留存,以利日後查核。
(三) 開學後第三週人工加選及停修:老師及系主任可親簽或用郵件代替簽名,請同學將申請書及相關同意證明,合併成1個pdf檔上傳至教務處。上傳網址將再另行公告。
(四) 因本學期前3週皆採遠距授課,同學在加退選期間若有加簽或聽課需求,請主動聯繫授課老師。
.
教務處 敬上
.
Dear NTU community members,
Given the current pandemic situation, the University is asking all academic and administrative units to comply with the following measures regarding teaching and learning for the upcoming semester despite the epidemic prevention measures released by the school:
A. All courses shall adopt distance learning in the first three weeks since 110-1 semester. Teachers shall announce course URL and relevant information on course description.(If you want to set the visibility of your course page on NTU COOL to be public, please see this document: https://www.dlc.ntu.edu.tw/2021/09/09/visibility/ ) If experiments, hands-on course,graduate courses with fewer people,wish to give physical course, please follow the measures listed below:
1. Teachers shall do the roll call, while eating and drinking in the classroom is forbidden.
2. Classrooms shall be cleansed and disinfected regularly, while kept ventilated.
3. Face masks must be worn throughout, while social distancing shall be maintained (e.g., 1.5 meters or 2.25 square meters).
4. Please submit an application form ( https://www.space.ntu.edu.tw/navigate/s/CB679CFFA6134C83B4964E40A30A460AQQY ) to the Office of Academic Affairs before September 24th.
B. In principle, 80 or above people selecting a course shall adopt distance learning from the fourth week of 110-1 semester. Courses under 80 people will be in-person classes. In special cases, please fill out this application form ( https://www.space.ntu.edu.tw/navigate/s/CB679CFFA6134C83B4964E40A30A460AQQY ) before October 12th.
1. In-person class shall comply with the regulations listed above.
2. Teachers are encouraged to adopt a blended teaching approach -a combination of online learning and in-person class - to prepare the courses. For more information, please see the website of Digital Learning Center: https://www.dlc.ntu.edu.tw/2021/09/08/blended-teaching/
C. The flexible measures of this semester for adding, dropping, and withdrawing classes are as follows.
1. The “Unblock Course Request Form”, “Course Overload Request Form”, and “Course Underload Request Form”:
The lecturer and the director may sign these request forms in person or reply by email to these request forms to indicate their approval of the request. Please email the request form and the proof for approval to the contact person in the Office of Academic Affairs.
2. Adding and dropping classes in the first and second week of this semester:
(1) . Adding classes in the first and the third category:
The process is as usual. Students may register for classes online.
(2). The second category (adding classes with a permission number):
It is recommended that the lecturer email a permission number to students and record the student number for future verification.
3. Adding or withdrawing classes in the third week of this semester:
The lecturer and the director may sign the application form in person or reply by email to the application form to indicate their approval of the request. Please combine the application form and the proof for approval into a single PDF and upload it to the Office of Academic Affairs. The website address for uploading the file will be announced separately.
4. Because online teaching is conducted during the first three weeks of this semester, if students want to add or attend the classes during the period, they need to contact the lecturer.
.
Office of Academic Affairs
this that教學 在 愛睏熊 Youtube 的最讚貼文
2021 《爐石戰記》大師職業賽 | 2021 Hearthstone Grandmasters
比賽影片來源:https://www.youtube.com/watch?v=xwUROj1e8hA&t=1s&ab_channel=%E7%88%90%E7%9F%B3%E6%88%B0%E8%A8%98
本頻道剪輯各系列爐石戰記賽事精華,讓各位在短時間內了解精彩賽事內容,也希望頻道對整個遊戲環境帶來正面影響。
爐石戰記比賽影片版權皆屬於暴雪娛樂公司,分享爐石比賽片段,協助推廣爐石戰記電競賽事。
This channel has edited various series of exciting programs to let everyone know the exciting content of the game "Heartstone", and hope that the channel will have a positive impact on the entire environment.
The copyright of the game video of Hearthstone belongs to Blizzard Entertainment. Share "Hearthstone" game clips and promote the "Hearthstone" game.
#爐石戰記
#比賽
#Hearthstone
#HSEsports
this that教學 在 愛睏熊 Youtube 的最佳解答
2021 《爐石戰記》大師職業賽 | 2021 Hearthstone Grandmasters
比賽影片來源:https://www.youtube.com/watch?v=xwUROj1e8hA&t=1s&ab_channel=%E7%88%90%E7%9F%B3%E6%88%B0%E8%A8%98
本頻道剪輯各系列爐石戰記賽事精華,讓各位在短時間內了解精彩賽事內容,也希望頻道對整個遊戲環境帶來正面影響。
爐石戰記比賽影片版權皆屬於暴雪娛樂公司,分享爐石比賽片段,協助推廣爐石戰記電競賽事。
This channel has edited various series of exciting programs to let everyone know the exciting content of the game "Heartstone", and hope that the channel will have a positive impact on the entire environment.
The copyright of the game video of Hearthstone belongs to Blizzard Entertainment. Share "Hearthstone" game clips and promote the "Hearthstone" game.
#爐石戰記
#比賽
#Hearthstone
#HSEsports
this that教學 在 愛睏熊 Youtube 的最佳解答
2021 《爐石戰記》大師職業賽 | 2021 Hearthstone Grandmasters
比賽影片來源:https://www.youtube.com/watch?v=xwUROj1e8hA&t=1s&ab_channel=%E7%88%90%E7%9F%B3%E6%88%B0%E8%A8%98
本頻道剪輯各系列爐石戰記賽事精華,讓各位在短時間內了解精彩賽事內容,也希望頻道對整個遊戲環境帶來正面影響。
爐石戰記比賽影片版權皆屬於暴雪娛樂公司,分享爐石比賽片段,協助推廣爐石戰記電競賽事。
This channel has edited various series of exciting programs to let everyone know the exciting content of the game "Heartstone", and hope that the channel will have a positive impact on the entire environment.
The copyright of the game video of Hearthstone belongs to Blizzard Entertainment. Share "Hearthstone" game clips and promote the "Hearthstone" game.
#爐石戰記
#比賽
#Hearthstone
#HSEsports
this that教學 在 盤點5 個最夯英語教學Youtuber:學習技巧 - 報橘 的推薦與評價
近年網紅經濟席捲全球,除了秀才藝的創作者、賣產品的商家與玩直播的政治人物,現在連「教學」都網紅化,其中最蓬勃發展的就是英文學習頻道。 ... <看更多>
this that教學 在 【英文教學Youtuber 推薦】6個超用心的國內 - 英文庫 的推薦與評價
先來介紹我推薦的3個台灣Youtuber的英文教學頻道,但阿滴就不說了,畢竟要給大家一個機會嘛~在Youtube英文教學的關聯影片、搜尋結果應該就一堆阿滴了,這裡就不多加介紹啦 ... ... <看更多>
this that教學 在 Dance with Stars: 高中職的英語教學 - Facebook 的推薦與評價
是誰說的,我已經不記得了...大概是這樣的意思:每個孩子都是一顆星星,不管亮度如何,不管是否被命名,他都在夜空中閃爍著。我想,我們也是,我們的教學活動也應該是 ... ... <看更多>