avatar歐馬克

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

2742

Abstract

urn</span> { <span class="hljs-attr">props</span>: { data, }, <span class="hljs-attr">revalidate</span>: <span class="hljs-number">300</span>, <span class="hljs-comment">// Re-generate page after 5 minutes</span> }; }</pre></div><ul><li>API response caching: Implement caching for API responses, reducing the load on your server and improving the response time.</li></ul><h1 id="aa6e">Lazy Loading</h1><p id="f805">Lazy loading is a technique to defer loading parts of your page until they’re actually needed. In Next.js, you can use dynamic imports to achieve this:</p><div id="f63f"><pre><span class="hljs-keyword">import</span> dynamic <span class="hljs-keyword">from</span> <span class="hljs-string">'next/dynamic'</span>;

<span class="hljs-keyword">const</span> <span class="hljs-title class_">DynamicComponent</span> = <span class="hljs-title function_">dynamic</span>(<span class="hljs-function">() =></span> <span class="hljs-keyword">import</span>(<span class="hljs-string">'../components/DynamicComponent'</span>));

<span class="hljs-keyword">function</span> <span class="hljs-title function_">MyPage</span>(<span class="hljs-params"></span>) { <span class="hljs-keyword">return</span> ( <span class="language-xml"><span class="hljs-tag"><<span class="hljs-name">div</span>></span> {/* Other content */} <span class="hljs-tag"><<span class="hljs-name">DynamicComponent</span> /></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></span> ); }</pre></div><p id="7797">Lazy loading can significantly improve the initial page load time, especially for large applications.</p><h1 id="c8b6">Performance Tips</h1><p id="e48c">To further optimize SSR in Next.js, consider the following performance tips:</p><h1 id="1733">Resource Prioritization</h1><p id="0425">Prioritize critical resources for initial page load. Use the <code>next/head</code> component to define the order in which resources should be loaded. This is crucial for improving perceived performance.</p><div id="e8b4"><pre><span class="hljs-keyword">import</span> <span class="hljs-title class_">Head</span> <span class="hljs-keyword">from</span> <span class="hljs-string">'next/head'</span>;

<span class="hljs-keyword">function</span> <span class="hljs-title function_">MyPage</span>(<span class="hljs-params"></span>) { <span class="hljs-keyword">return</span> ( <span class="language-xml"><span class="hljs-tag"><<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">Head</span>></span> <span class="hljs-tag"><<span class="hljs-name">title</span>></span>My Page<span class="hljs-tag"></<span class="h

Options

ljs-name">title</span>></span> <span class="hljs-tag"><<span class="hljs-name">link</span> <span class="hljs-attr">rel</span>=<span class="hljs-string">"preload"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"/styles.css"</span> <span class="hljs-attr">as</span>=<span class="hljs-string">"style"</span> /></span> <span class="hljs-tag"><<span class="hljs-name">link</span> <span class="hljs-attr">rel</span>=<span class="hljs-string">"stylesheet"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"/styles.css"</span> /></span> <span class="hljs-tag"></<span class="hljs-name">Head</span>></span> {/* Page content */} <span class="hljs-tag"></<span class="hljs-name">div</span>></span></span> ); }</pre></div><h1 id="edb1">Code Splitting</h1><p id="f23c">Implement code splitting to load only the JavaScript necessary for the current page. This reduces the initial payload and speeds up the page load time.</p><div id="5a42"><pre><span class="hljs-comment">// Dynamic imports with code splitting</span> <span class="hljs-keyword">import</span> <span class="hljs-built_in">dynamic</span> from <span class="hljs-string">'next/dynamic'</span>;

<span class="hljs-keyword">const</span> DynamicComponent = <span class="hljs-built_in">dynamic</span>(() => <span class="hljs-keyword">import</span>(<span class="hljs-string">'../components/DynamicComponent'</span>));</pre></div><p id="21fb">By following these best practices and performance tips, you can optimize the Server-Side Rendering (SSR) in your Next.js applications for faster page loads and improved user experiences. Utilize the appropriate data fetching methods, implement caching strategies, embrace lazy loading, and consider resource prioritization and code splitting for the best results.</p><p id="c104">Remember that optimization is an ongoing process. Regularly monitor and analyze your application’s performance to identify areas for improvement. With the right approach, you can deliver blazing-fast SSR in your Next.js projects.</p><h1 id="52d4">Stackademic</h1><p id="7b7b"><i>Thank you for reading until the end. Before you go:</i></p><ul><li><i>Please consider <b>clapping</b> and <b>following</b> the writer! 👏</i></li><li><i>Follow us on <a href="https://twitter.com/stackademichq"><b>Twitter(X)</b></a>, <a href="https://www.linkedin.com/company/stackademic"><b>LinkedIn</b></a>, and <a href="https://www.youtube.com/c/stackademic"><b>YouTube</b></a><b>.</b></i></li><li><i>Visit <a href="http://stackademic.com/"><b>Stackademic.com</b></a> to find out more about how we are democratizing free programming education around the world.</i></li></ul></article></body>

讓你的生產力大躍進-《發現你的執行力密碼》

執行力=成長+經驗

遇到渣男,想刪除他的聯絡方式,卻做不到,因為你的經驗不足,以及你還沒成長到能跨過這個坎。

我現在做不到的事情,覺得痛苦的事情,是因為我還沒有成長到足以輕鬆地完成那件事,所以需要透過訓練累積經驗,讓自己成長。

執行力包含12項關鍵能力: 反應克制力(克制衝動)、情緒控制力、工作記憶力(記得自己要完成什麼事情)、任務啟動力(拖延)、時間管理、專注持續力、優先事項規劃(排序的能力)、組織力、彈性變通(發生變化時的應對)、抗壓力、後設認知(綜觀全局、內省-自我監控與自我評估的能力)、目標堅持力

了解自己的強項與弱項,然後就弱項部分設計應對方法: 1. 調整環境(範例表放在歐馬克Instagram限動精選的"Reminder"中) 2. 調整任務(將任務縮短,或穿插休息時間、把任務跟平常非做不可的事一起做,讓自己有充分利用時間,一石二鳥的感覺、用1–10的評分表評量工作的喜好程度或難易度,穿插著做,然後想辦法如何將低高分任務的分數、切成小部分、將開放式任務變成封閉式任務、加入變化,例如在枯燥的過程中改變順序,或是用不同的方法去完成同樣的事、搭配任務完成後的獎勵) 3. 請求他人協助

鍛鍊各項執行力的方式

反應控制力(克制衝動):提醒自己三思而後行,告訴自己等一下再做,寫日誌。

說話做事不經大腦,所以常常事發才後悔懊惱-提醒自己話不要說得那麼快那麼急,事情不用馬上反應,先等一下。

聽到了一個不錯的標的,一開盤就發現它漲了5%、8%,想追漲停,告訴自己冷靜點。

節食中遇到了想吃的食物,不要告訴自己「我不吃」,而是改以「我未來再吃」。因為運用意志力可能會在其他地方造成反效果,「不是不吃而是以後再吃」是面對誘惑比較有效的方式。

情緒控制力:自我對話、正念冥想

如果父母不善於管理自己的情緒,孩子通常也很難管理自己的情緒。學習用自我對話的方式對自己下指令,給予自我肯定或正面評價。

利用工具如HeadspaceCalm、Chillax、Balanced,減少看新聞和使用社群網站。

在自我對話時,用第三人稱(叫自己的名字)或第二人稱(你做得到)的效果,比第一人稱來得好。

工作記憶力:卸載、列清單

不要把事情都記在腦子裡,寫下來,變成檢查表;容易忘記帶的東西就放在醒目的地方提醒自己

任務啟動力:先求有,再求好

遵循合理的就寢時間是第一步。練習不要拖延上床睡覺的時間。

疲憊跟心情不好是藉口,當下逃避了也許感覺不錯,但當短期效果結束後,會讓我們覺得更糟。

先從一件簡單的事情開始做起,每天持續做五分鐘以上(十分鐘以下),改善任務啟動力。

專注持續力:移除令你分心的人事物,運用番茄鐘,休息時間活動身體、充分放鬆

優先順序規劃力、組織力:找到最重要的事項,其餘一切從簡!

David Allen, Getting Things Done: The Art of Stress-Free Productivity 《搞定!工作效率大師教你:事情再多照樣做好的搞定5步驟

整理檯面雜物:在房間正中央放一個桌子,把檯面上所有多餘的東西都放在上面,然後每天訂個固定的習慣時間整理中央桌子十分鐘(例如晚飯後、洗澡前等)

時間管理:調快時鐘

遲到、沒有時間感、低估做一件事所需的時間,與多巴胺濃度較低有關,對以分秒為單位的時間觀念,是由大腦的前額葉皮質掌管。

時間管理差的人通常不喜歡計畫好一整天的行程,所以不要這麼做,只要把「必須要做的事」寫下來就好,然後寫下預計何時開始,預計需要花費多久時間,以及最後紀錄實際開始與結束的時間,練習自己的估算時間感與執行力。

彈性變通力:預先設想不同走向的劇本、替代想法

別說「不可能」,改說「我想想該怎麼辦」「可以怎麼做」

後設認知力:提升觀察力、詢問確認

缺乏後設認知力的人最麻煩的是他沒有自省的能力,所以無法看到大局,要到事情非常嚴重了之後,才覺得怎麼會變成這樣,但其實都是在一開始的一些小地方出了錯,如果有即時糾正的話,就不會釀成大禍。

首先必須覺察到自己有問題,並且主動探討問題,搜尋解決的辦法,誠實面對並堅持改進。

目標執行力:實踐意圖

若想促進行為改變,提出確切的實踐意圖-「我會在X時間Y地點做Z事情」!有確切實踐意圖的人比起不精確的目標主張、不採取特定步驟的執行有效。

「我每天起床要在客廳的瑜珈墊上冥想」 「我冥想完要做伸展運動」「我看電視的時候要拉筋」 對另一半說:「我不吃不健康的食物」

抗壓力:健康生活

放鬆、規律作息、吃得健康、不吃糖份和咖啡因、不喝酒抽菸、定期運動,規劃放鬆的時間、冥想、覺察自動化思維並以替代思維取代。

執行力
拖延症
夢想
目標
生產力
Recommended from ReadMedium