相對於 Bootstrap 4 來說,我認為 v5 真正發揮特色的地方在於 “變數”
雖然 Sass 可以透過簡短的語法產生大量的 CSS 程式碼,但這也意味著 CSS 檔案會不斷地擴增。因此許多設計概念在 v4 都受到了限制,例如:不同間距的 gutter(v4 只有三種,而這三種已經讓 Bootstrap 額外佔用許多容量)。
到了 v5 以後,除了原有的 Sass 之外,更靈活運用原生的 CSS 變數技巧,這些用法甚至會讓人感覺到「哇~原來變數可以這樣玩」。以格線系統來說,每次新增一種新的 gutter 僅需要增加 3 行 CSS(沒錯,包含 ClassName 就三行;至多不需要超過 5 行)
傳統的 CSS,至少要 60 行以上才能達到此效果,而 CSS 變數的 3 行影響到:
- 12 欄
- 5 種中斷點的欄線
- 外層 .row 的設計
更詳細的 CSS 變數知識
可參考此篇文章:https://wcc723.github.io/development/2021/09/22/css-variables-bootstrap/
「bootstrap 三欄」的推薦目錄:
- 關於bootstrap 三欄 在 卡斯伯 Facebook 的精選貼文
- 關於bootstrap 三欄 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於bootstrap 三欄 在 小吃貨的英國生活日記 Facebook 的最佳貼文
- 關於bootstrap 三欄 在 【Bootstrap 01】用Bootstrap設計出三欄位排版- YouTube 的評價
- 關於bootstrap 三欄 在 [CSS學習筆記] Bootstrap4 布局與欄位的使用 - 1010Code 的評價
- 關於bootstrap 三欄 在 8 Columns in Twitter Bootstrap - html - Stack Overflow 的評價
- 關於bootstrap 三欄 在 開始使用twitter-bootstrap | 他山教程,只選擇最優質的自學材料 的評價
bootstrap 三欄 在 Taipei Ethereum Meetup Facebook 的最佳貼文
📜 [專欄新文章] Crosslink Recap —— Design pattern: build your first profitable DApp and smart contract
✍️ Feihu Tang
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
上文 里說到,這幾天我會在臺北的 Crosslink 作為文字組的志願者,此次我負責這個議程的記錄,裡面非常多的 insight,我聽了非常感動。
會後,陳品來和我說,這次有一點遺憾是自己選擇使用英文,但是自己的英文並不足夠流利,使得大概只是介紹 slide 內容本身,如果用中文的話,就可以捕捉到更多的信息了。但是我覺得現在的版本就已經足夠好,會議當天臺下也有很多 foreigners,這種偶爾選擇走出自己舒適區的方法也是非常值得鼓勵!
陳品和我同是 TPE 的演講者,同時又都在去年成立了自己的 Dapp Startup,我們之間 share 著許多共同的觀點,這一次能夠記錄這個議程,也可以從側面描述一些從我的視角出發的補充論據。這里順便吐槽一下,剛從大阪 Devcon 回來,去了北京 Dragonfly,為了參加 Crosslink,中間不得不又回到日本,差點沒累個半死 …
參考資料
Bilibili, 演講回放 | Youtube 分流
Slide, Design Pattern: Build Your First Profitable DApp and Smart Contract.
Slide, Web3 Business Models by @owocki
加密協議的本質已不是「去中心化」,而是區塊鏈的可分叉
Multicoin:论 Layer 1 和 Layer 2 的价值捕获
論開放式金融框架下價值捕獲的重要性
五分鐘概覽 DeFi 當前常見的商業模式
挑戰
回到當天的議程。首先陳品介紹了 Dapp 開發者所面臨的挑戰,他將一個 Dapp 的生命周期,劃分為三個階段:
Bootstrap 冷啟動
Value Capturing 價值捕獲
Sustainability 可持續發展
其中最難的也是最核心的是第二個階段,Remember what has been told by Felix?
緊接著,陳品類比擴容悖論(Scalability Trilemma) 提出了 Dapp 悖論 (Dapp Dilemma)。開發一個 Dapp 非常容易,但是要開發一款可持續盈利的 Dapp 卻非常困難。究其原因,就是 Dapp 合約在默認情況下應當是開源的,而開源則意味著任何人都可以 fork ,然後將手續費設置成更低甚至是免費的版本。然而開源,或者說 「可分叉性」 ,這柄高懸在開發者頭頂的達摩克利斯之劍,又恰恰是她最迷人的地方。開源、自治、可持續,是每一個 Dapp 開發者所追求的極致的目標。
如同擴容悖論 (Scalability Trilemma) 只是 hard to achive 一樣,Dapp 悖論 (Dapp Dilemma) 也並非無解。
月前 Shell Xu 在 Linux Story 群里有一次 關於開源盈利模式的討論。Btw, 我之前在 Github x 平安雲的活動上, 還有幸聽了 Shell 的一節課 。
Shell 認為開源的盈利模式,有很多種,其中包括:
捐助 有很多成功的例子。甚至還有專門的網站 Patreon,ci-en 以及 愛發電。一些比特幣和匿名幣的開發者也依靠這種模式。軟體開源,但是往 AppStore 賣的話,實際也算是捐助,例如 keka 和很多 shareware games。 (這麼說來,itch 里自由定價,其實理論上也算是捐助吧。)
軟體免費,服務收費 代表 Red Hat
雙授權 代表 GhostScript 和 MongoDB
基金會 然後基金會又分為好幾種模式。 其中最成功的要算 Apache 基金會,參見 從用戶成為“股東” — — 在 Apache 基金會的 2600 天(Mozilia 你還好嗎 — — ?)
緊接著我提到,發幣其實也是一種。這一點最好的文章是 Naval 14 年寫下的那篇著名的 《比特幣眾籌模式》。這個觀點 Shell Xu 也非常認同,並且他還特別指出發幣事實上是很成功的一種手段。另外,最後我的觀點,我後來也專門寫了一篇文章, from open source to self hosting … 這是一個 Self hosting 的例子。
案例
EasyDAI
接下來陳品開始分析一些實際的案例,首先從自己的作品開始。
使用者將以太幣存入後,便會透過智慧合約自動執行,將以太幣兌換為美元穩定幣 DAI,隨後把 DAI 存入 Compound 借貸放款平臺,經由智慧合約去中心化地放款給其他有融資需求的用戶來獲得利息。
—— EasyDAI
我們看到 EasyDAI 的一筆交易中,會同時調用經過多個智能合約,這種互通性(Interoperability),也是 DeFi 項目的魅力之一。參見 InstaDApp, Bridge Protocols 。
Bancor VS Uniswap
剛才說到,發幣也是一種商業模式。談及 ICO,雖然我们都知道 Linux 那句著名的 Talk is Cheap,Show me the code,但在區塊鏈的世界,通常的作法則是 You reap, before you sow。但是並不是說,發幣就是解決所有的問題銀彈,可以參見 Gitcoin 的那篇,而一個多餘的 Token 帶來的後果很可能是災難性的。
Why Gitcoin Didn’t Launch With A Token
比較 Bancor 和 Uniswap,Uniswap 勝出已成公論,原因很多。首先 Uniswap 不會被 Bancor 代幣尋租(之前 Bancor 的運營人員有聯絡到我們希望幫我們的 EOS 代幣上 Bancor 交易所,當然代價是 5000 usdt。。。)。
然後更致命的原因 Bancor 的流動性是死的,而 Uniswap 協議的流動性足夠靈活,可以隨著市場的變化,動態調整。
最後 Bancor 協議的前提,假設 cw 是定值看起來也很沒道理。而所有這些原因,導致的結果就是會是 Bancor 錨定的代幣,缺少脫鉤的機制。關於這個論點,我之前在 Dapp Review 專門寫過文章: 重新審視 Bancor 演算法,為什麼 cw 是失效的設計 。
Kybey
接下來列舉了一個中庸的例子,Kybey。他依靠著 offchain 的設計,避免自己過早的遭遇分叉,從而也成功的積累了網路效應。
Raiden Network
而作為失敗例子的代表,相比於 Lightning,Raiden 網路發行了自己的代幣,並且類似以太坊那樣將這種代幣作為手續費,但是這種做法並沒有捕獲到 Layer2 的價值,從而導致項目的失敗。
MakerDAO
最後陳品舉了一個正面的價值捕獲的例子 — MakerDAO,這個觀點也和此前 X-Orde 群里 Tina 的看法一致。
結論
回到 Dapp Dilemma,因為 Smart Contract 默認你就是需要開源的,所以所有開源軟體會遇到的問題,你大概也都會遇到,而解決這一問題的唯一方法,陳品在 slide 里也進行了總結,就是 在被分叉之前,捕獲足夠的價值,從而積累出足夠的網路效應作為你的壁壘 。
QA
Q: 如何實現閉源。
A: 不要在 etherscan 里 verify source code 就可以了。 這里我還有一個小的疑問,因為實際上我們所有的 bytecode 已經上 EVM 了,這里是否有可能被逆向工程?@陳品
Q: 閉源真的有用戶來用嗎?
A: Of course。
Q: How about PollTogether?
A: 這是一個價值捕獲的好的例子,等到他們開源的時候,合約里已經有足夠吸引力的 deposit 了。
Crosslink Recap —— Design pattern: build your first profitable DApp and smart contract was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
bootstrap 三欄 在 小吃貨的英國生活日記 Facebook 的最佳貼文
#抱怨文 #文長慎入 #換工作的原因
相信大家看到我分享的面試文,應該也覺得很吃驚,為什麼做不到一年就要換工作。事情的經過說來話長,簡而言之就是我被炒魷魚了。人生第一次被公司炒魷魚,也算是一個新的里程碑。(知道我前公司的人,請不要宣揚,我怕他們來告我^^ 感謝各位!)
不過我現在也已經把東西都辦妥了,就來和大家分享事情的經過吧!
最近自己也開始在檢討,人果然不能一直活在舒適圈裡面,尤其是這次的事情讓我反省自己反省了很多。
還記得當初剛到這個新創的時候,覺得滿心歡喜,人生充滿鬥志,雖然說是新創,但後來發現已經成立八年左右,其實也已經不大能算新創(一開始我以為五年,仲介跟我說的)。其實我也不怪仲介,當時仲介也覺得他們是很好的公司,的確,對外包裝的的確是很好。對內其實也包裝的,有點好,好到都沒有人知道公司已經快要不行了。(不是走下坡,是真的快不行) 當然我實際上也不能講得太明白,以免人家來告我。
反正就是,在一波大裁員中,我也總算被裁掉了。雖然之前發了一篇文,說會不會試用期六個月過不了,但神奇的是,我在工作了七個月左右的時候被裁(雖然我原本也是想提離職,所以當時也已經有邊找工作)。這事情我也是很想大抱怨一番,並且讓大家吸取我的教訓XD
公司裁了超過三分之一,連執行團隊的人都走了,首席執行官也走了。聽起來很扯對吧!更扯的是,一切都來的很突然,之前每個星期一都有開早會,告訴大家我們做得有多好,可是從來都不提到我們成本有多少,就講我們的營收多好多好。
然而事實是,公司從來都營收大於成本過。
另外,公司在招募人的方面也是很誇張,公司根本留不住有經驗的人才,因為他們不願意加薪,然後一直不斷的雇用剛畢業的人進來,而且執行團隊本身也都是MBA畢業以後就創業,也沒有太多領導經驗,更別說創業經驗。然後我們的首席執行官,在外面一直被包裝得很好,同時還在某大學的商學院兼課,還是知名商業雜誌的寫手(我不清楚他是專欄還只是偶爾投稿),另外在LinkedIn上面,他更是知名度相當高,還一度獲得今年的某個最佳CEO獎項
其實我在進公司以後,就發現在Glassdoor上面,他們的評價不是很好,但想說應該要親眼看看,一開始的三個月都還算不錯,然後就開始有越來越多蛛絲馬跡出現。首先是,我發現公司非常沒有制度,另外公司的某高層跟某個資深員工貌似在交往,但表面上都沒顯現出來。而且明顯可以發現,公司雖然只有二十幾個人,小團體還是非常明顯。
此外,公司的東西,都沒有文件,沒有文件就算了,問A,A說不知道,問B,B也說不知道。雖然可以理解,大概是因為是新創,所以才會這樣有點混亂。然而新創也已經創了8年了......是讓人有點無言。
另外,在我們的PM離職以後,我們的COO自己下來當PM,這件事情也很奇怪。接著他們找了一個資深前端工程師,然而這個資深前端工程師,進去快半年幾乎沒有寫到什麼code,就變成我們的PM+ Team Lead, 其實這整件事都很奇怪,因為這個資深前端,首先對於公司的產品根本不了解,很多東西都是我們已經在做了,他才問我們流程,而且他寫出來的user story 根本完全不正確。另外,他做的Spike, 可是卻連基本的user flow都搞不清楚。而且要領導團隊,他其實也沒什麼經驗,他號稱自己在前公司領導過團隊(約一年經驗),可是實際上,他就只是一直來問我們,東西做好了沒。連問他一些基本的技術問題,他幾乎都答不太出來,或給出很不實際的答案,然後說,東西一定要做出來。
我覺得令我最不爽的一件事情就是,他自己東西做不出來,就把他丟給我做,還要我快點把東西交出來,丟下來之前他也沒先跟我討論過,就直接指定給我,然後說,喔對了,那個我給你做。(當時他並不是主管,就是我們的前端) 而我跟我們上層的人抱怨後,得到的結果是,我應該要檢討自己,不應該要去怪罪別人,我應該要好好把東西做好。
更讓我覺得無言的是,團隊裡沒有人想要搞雲端的東西就丟給我,但卻要我同時可以精通CSS HTML,我本來就不是前端出來的,當初我面試的時候也是面試後端,只是他們要我做Fullstack我就做,我覺得很扯的是,憑什麼整個團隊沒人要碰AWS的東西,就都丟給我,也沒給我什麼訓練,反正就是,阿你之前有經驗,你就做。然而其他人卻一直攻擊我說我不會寫CSS, 問題是,我前一份工作,我們CSS都是用Angular Material, bootstrap, 又不是寫純CSS, 而且你們當時面試我的時候,我也直接講了,那不是我擅長的部份。再者,之所以要雇用那個前端,也是補足我們沒有很強的前端能力,既然你要我跟純前端一樣強,可以完全補足純前端的能力,你幹嘛還要花錢請那個前端?
於是我也跟公司提出,我認為這是很不合理的,然而他們卻一再堅持是我的問題,理由好像是我是 Junior Developer, 本來就什麼都要學,首先,在我工作的合約和Title根本沒有Junior這個詞,從頭到尾都是他們自己提出來的,還說付給我市場價格,Junior就是值這個錢(這個是進公司後他們才這樣講),剛開始我也覺得算了想說學東西,但後來真的越來越不爽,因為到後期我根本學不到什麼東西。另外公司說那個前端,原本是設計師出身,很懂UX,是專家,然而他一點科學根據都沒有,每次都是看一看就說,這個是Bad UX, 這個不好,那個不好。然後也不管我提的安全性的問題,還因此嗆我。此外,為了驗證自己的正確性,我還找了在其他公司工作的User Researcher 朋友來幫我看看我們的網頁,他也覺得我們 UX做得很爛好嗎?
所以我們公司的人到底在幹嘛? 為什麼要請一個這樣的人來做事情? 然後我們的設計師,基本上他原本是童書繪本作者,這個可以理解,可是我們是,金融服務,整個網站的風格就是很「可愛」,後來他自己提出Rebranding, 好啊!那就來Rebrand, 設計出來的新的Logo, 新的首頁,根本就,看起來一點都不專業,讓你絕對不會相信他們,把一大筆錢交到他們手上讓他們幫你來投資。(這並不是我單方面說詞,是我們花了一些錢,請使用者們做網頁測試的結果),因為他們在首頁放了很多冰淇淋,很多人直接說,這個網站看起來就是,Target小孩的!彩色、冰淇淋、五彩繽紛。沒錯!很失敗的品牌定位吧!雖然我明白他們想要冰淇淋來表達,多樣性、成長性,但是你們已經在這個產業混了這麼多年,還不明白其中的道理嗎? (雖然我原本想避免講到一些細節,但這個方案已經被否決掉了,所以應該沒關係....吧)
此外,讓我覺得很不爽的原因,(我大概做了四五個月左右,就很想離職),在寫程式方面,大家就很拖時間,拖時間也不是問題,就感覺其他人都沒怎麼在認真做事情,例如原本說好兩個禮拜要做完的東西,結果兩個禮拜結束後,只有我一個人做完。或者是說,大家要一起做調查,調查我們的Tests要怎麼寫,要用什麼框架,結果也沒人做,也只有我做。其他例如文件也是,也只有我一個人在寫,明明說好大家都要寫,根本沒有做。(我們也就四個人) 然後每次我提出一些建議,他們都說很麻煩,不想做,說甚麼我們公司規模小,沒辦法DevOps, 我也沒要求你要DevOps, 我只是要求大家要好好用Branch, 然後我們已經有CI,可以考慮做CD,另外我也提出一些Database Schema migration會遇到的問題,他們的態度就是,你自己去做就好。每次什麼問題都是這樣,安全性的問題也是,什麼都是,你想做你就去做,可是他們想做的,我也要做.......
再說,寫測試這種事情,跟公司規模大小一點關係都沒有吧! 我就覺得非常火大,還有命名、還有Git的使用,這些就是基本的軟工啊! 為什麼要一直跟我吵這件事情,另外,在COO當PM的期間,很多明明就可以先弄好的事情,都要一直改來改去,例如說某個警告標語,某段文字。重點是,他要改的原因,竟然不是因為我們的Content說要改,是因為他女朋友覺得應該要改(他們當時還沒公開,但是很明顯,我離職後才公開),可是我們公司明明就有花錢請了content manger, copy writer, 到底為什麼是去問他女朋友?
總之各種火大的事情,但胖子一直叫我為了簽證忍耐,我也很努力地忍耐,直到他們把我炒了,我也算是解脫了!而且算是因禍得福吧!這波的求職我也拿到了3個offer, 去了我夢寐以求的公司,雖然不是FANG, 但也是我覺得自己可能一輩子都進不去的公司。所以還是決定踏出一大步,跳出自己的舒適圈,離開劍橋。
我覺得最需要反省的是,當初自己其實沒有想清楚自己要的是什麼,另外也許是自己不適合新創的環境,又或者是剛好這個公司不適合自己。當然我也很認真地思考,或許我提出的東西,對於團隊來說真的不適合。團隊的狀況是,有兩個都是10年以上的Freelancer,對他們來說要走那些制式規定他們也覺得煩,他們也不愛考慮那些軟工的東西,他們就是,我覺得有趣的東西我就做。而公司上層也很矛盾,他們叫我們要思考自己是在未來的大公司工作,要用大公司的思考方式,然後私底下又搞得跟家庭企業一樣,並且對我說,我應該要以小公司的方式才做事情。
到後來我也懶得跟他們吵,反正他們要裁我,其實大概也是感到有點愧咎,所以COO也同意多給我兩個禮拜unpaid leave,這樣可以延長簽證時間(當時我不知道新公司申請COS要申請多久,所以跟他們要求的)。
雖然我其實在離職的最後一天之前就遞交出簽證申請了(沒想到新公司再給我offer時就幾乎完成28天勞動市場測試),所以其實也根本不需要那兩個禮拜,因為新的簽證遞交出去之後,舊公司的簽證就會失效。所以我其實在正式離開公司(加上那兩個禮拜的unpaid leave,我official的最後一天是明天)前就拿到簽證了。
這次我也跟其他同事部門有聊到,某個算資深的同事也認為,公司就是缺乏有經驗的管理者,什麼事情都以降低成本為考量,另外就是,公司沒辦法留住有經驗的人才,尤其是有大公司經驗的人,因為他們根本不願意採用他們帶來的經驗。另一個同事也跟我抱怨過,公司的上層,很多就是,聽不進別人的意見,覺得自己做的永遠是對的。
這些我覺得都可以當成經驗學起來,以後自己如果要創業可以用到。其實這波裁員中,連我們的辦公室管理都被裁了,但他原本就想要離職,他告訴我,他覺得公司根本不尊重他,公司給他幾乎是外面最低薪資的錢,同時他要管辦公室還要兼CEO的助理,他認為非常不合理,而且他是有經驗的辦公室經理,在他進去之前,公司的辦公室亂七八糟,到處都是垃圾雜物擺在桌上。的確在他離開以後,公司也是那樣,沒吃完的食物,打翻的牛奶,各種雜物。
這波裁員中,有好幾個被裁的人,這間公司都是他們的第一份工作,有人還哭了。我覺得還好這不是自己的第一份工作,也還好自己不是剛畢業,不然大概會有很大的挫折吧!
總之,第一次嘗試新創有點小失望,畢竟這個新創不是正在起飛中的新創,是已經衰敗的新創。希望以後有機會自己創業。
我覺得自己需要反省的一點是,沒有早一點開始找工作,因為中間還有花一些時間猶豫,還在想到底要不要在那邊多待久一點。其實應該要果斷一點!當學不到東西也知道不可能加薪的時候,就應該要馬上跳。另外,一開始我都找劍橋的工作,其實這也是我自己的不對,畢竟在劍橋的工作機會滿受限的,需要簽證的話,倫敦還是比較好找一點,但是因為在劍橋住久了,就想要安逸過日子,即使一開始只給32K也是欣然接受,這些都算是自己的不對。
當然找工作也是運氣運氣的,畢竟需要簽證,總是會擔心很多,而且卡了T2就變成,要換工作的話,還是得一邊工作一邊找新工作,這個也很有壓力。
雖然現在回想起來也不知道之前怎麼做到的,原本也覺得自己不可能拿到那些offer, 竟然也拿到了。所以說,想要在英國工作的各位,應該也是很有機會的!凡事都要試試看!搞不好就拿到了!
有機會再來和大家分享新公司的感想,新的工作將會是Consulting developer,也就是去客戶端寫程式,希望會學到很多東西。
#小吃貨換工作
bootstrap 三欄 在 [CSS學習筆記] Bootstrap4 布局與欄位的使用 - 1010Code 的推薦與評價
容器是Bootstrap 中最基本的佈局元素,容器container 會預設的當你自 ... 為(3/12)等分,以下我套用css 屬性將它上顏色讓各位好分別他的欄位分佈。 ... <看更多>
bootstrap 三欄 在 【Bootstrap 01】用Bootstrap設計出三欄位排版- YouTube 的推薦與評價
這個影片會介紹如何使用 Bootstrap ,並且學習如何切割成三個欄位 Bootstrap 樣版、素材以及完成的檔案可以在這裡 ... ... <看更多>