真正的lazyload技術,不是下拉再去打api啦,是在img上加lazyload的attr等等
https://dotblogs.com.tw/shadow/2019/10/19/210514
真正的lazyload技術,不是下拉再去打api啦,是在img上加lazyload的attr等等
https://dotblogs.com.tw/shadow/2019/10/19/210514
1.
避免畫面閃爍,圖片先加上width, height,讓她不會從無到有,而是一開始就有框
2.
https://juejin.cn/post/6844903474954502151
对于问题多多的IE678,FOUC(flash of unstyled content)——浏览器样式闪烁是一个不可忽视的话题,但对于ever green的浏览器就不用理会了吗?下面尝试较全面地解密FOUC。
P.S. ever green browser means 會自動更新到最新版的瀏覽器,Chrome, Mozilla Firefox, Safari都是Evergreen Browser.
页面加载解析时,页面以样式A渲染;当页面加载解析完成后,页面突然以样式B渲染,导致出现页面样式闪烁。
样式A,浏览器默认样式 或 浏览器默认样式 层叠 部分已加载的页面样式;
样式B,浏览器默认样式 叠加 全部页面样式。
我们了解当输入网址按回车后浏览器会向服务器发送请求,然后服务器返回页面给浏览器,浏览器边下载页面边解析边渲染。
下面我们解剖一下边下载页面边解析边渲染的过程:
head
标签中的原因,在body
渲染前先把相对完整的CSSOM Tree构建好。但大家都听说过script
会阻塞html页面解析(block parsing),而link
不会,那假如网络环境不好或样式资源体积大时,body
已经解析并加入到DOM Tree后,external stylesheet才加载完成,不是也会造成FOUC吗?style
,link
等样式资源的下载、解析确实不会阻塞页面的解析,但它们会阻塞页面的渲染(block rendering)。Svelte是由Rich Harris創建並由Svelte核心團隊成員維護的免費開源前端編譯器。Svelte應用程序不包含框架引用
https://svelte.dev/
https://www.gss.com.tw/eis/197-eis-97/2380-eis97-6
採用 代理伺服器 (Proxy Server)
的方式,進行資料攔截分析,所以我們也會稱這些工具為 Proxy Tool 或 web debugging proxy。
當然著名的工具不只這些,甚至每一項工具都有自己的特色。(這篇只介紹了Charles, Burp Suite,Charles跟Fiddler everywhere很像,或一樣。Burp 則是基於資安領域由 PortSwigger Web Security
所開發出的軟體,因此裡面提供工具及特點都跟滲透測試及攻擊 web 相關。)
Wireshark 在2006 更名後(前身名為Ethereal)到現在還是非常熱門,不只是免費開源的軟體,它可以解析的東西非常詳細,針對協議,三方交握等訊息,DNS 都可以一一條列出來,是非常出色的網路封包分析工具
前面提到了每個抓包工具都有自己的特色跟優缺點,Wireshark 它的所得到的資料太底層,我們並不在意這些底層運作的資料,需要的是傳送請求及回應的詳細資料,屬於最上層的應用層,太多我們不需要的資料,反而需要過多的操作跟解析。
2.Burp
重新發送
並觀察結果。常用在保護使用者輸入的密碼,就是常聽到的密碼在資料庫有沒以儲存明文
密碼輸入 abc 採用 hash 運算
sha1('abc')
實際儲存資料是
a9993e364706816aba3e25717850c26c9cd0d89d
在網路傳輸資料時,將傳輸內容進行hash ,伺服器驗證這組 hash code ,確保資料在中間沒有被串改
這也稱
確保訓息完整性
稱(Hash-based message authentication code , 縮寫HMAC)
在上方以有簡單介紹,主要用途資料使用及儲存,更多用在資料搜索上的設計
在傳輸協議上設計對應的 hash 檢驗,當傳送資料時比對計算hash code 比對不相同時為,傳輸內容有誤
這又稱
冗餘校驗
發行的軟體進行雜湊後,並把雜湊碼公布於網站,讓使用者自行比對安裝的為官方出廠沒被竄改過
也稱為
Checksum
圖片進行hash 可以快速比對是否相同檔案
語音 影片,分割為很多小檔案進行hash 後可以進行 搜尋 批配是否有相同的部份
網路資源發行後進行hash 碼,配合子資源完整性 (Subresource Integrity ,SRI) 避免使用CDN時內容已被串改
<script src="https://example.com/example-framework.js" integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC" crossorigin="anonymous"></script>
https://pclevinblog.pixnet.net/blog/post/314563309-%5Bjava%5Docjp%28scjp%29%E5%85%8D%E8%B2%BB%E7%9A%84%E8%80%83%E9%A1%8C%E5%BA%AB%E7%B6%B2%E7%AB%99
https://yamol.tw/cat-OJCP%28SCJP%29%E6%B8%AC%E9%A9%97%E9%A1%8C%E5%BA%AB%E5%BD%99%E7%B7%A8-1721.htm
airbnb撤出react native心得:
https://medium.com/as-a-product-designer/airbnb-%E7%B5%84%E7%B9%94%E6%B5%81%E7%A8%8B-%E8%AE%93design%E8%B7%9Fcoding%E4%B9%8B%E9%96%93%E7%9A%84%E5%8D%94%E4%BD%9C%E6%95%88%E7%9B%8A%E6%9C%80%E4%BD%B3%E5%8C%96-f229a0dc91ab
https://blog.oursky.com/2018/08/08/airbnb-sunsetting-react-native-for-mobile-and-web/
實際學習:
https://www.youtube.com/watch?v=0-S5a0eXPoc
https://reactnative.dev/docs/getting-started
學習內容:
DLS - Design Language System: 包含的字體、顏色、icons、間隔距離、資訊架構等