На сервере Discord, которым управляют мои друзья, проводился конкурс на лучшее слайд-шоу; Вместо этого я решил сделать сайт для себя.

Я не особо планировал проект, я просто думал о том, какой будет базовая структура, и работал с ней. Что касается выбора моего технического стека, я решил использовать NextJS в основном потому, что вокруг него так много шумихи, и я действительно хочу получить некоторый опыт его использования. Я также использовал TailwindCSS для стилизации, так как недавно влюбился в то, сколько времени я с ним экономлю.

Проект шел хорошо и гладко, и я был очень доволен этим! Так было до тех пор, пока я не решил попробовать что-то новое и создать чат в реальном времени. Я структурировал свой код вокруг другого проекта NextJS, который я сделал, и использовал getServerSideProps для получения моих данных, сообщений, отправленных в чат, и их рендеринга клиенту. Однако, если вы знаете, как все работает, вы быстро поймете, что getServerSideProps не будет работать с данными, которые часто обновляются. Я не понимал этого, пока около 10 часов не потерял рассудок.

Я предполагаю, что мое понимание этого сейчас таково.

Статическая визуализация снимает нагрузку с пользователя и перекладывает ее на сервер. Это позволяет предварительно отображать страницы до того, как пользователь посетит страницу. Однако это действительно работает только с данными, которые не будут часто меняться. Также, насколько я понимаю, getServerSideProps будет получать новые данные, отправленные на сервер при перезагрузке. Я также не совсем уверен в разнице между getServerSideProps и getStaticProps, хотя я уже прочитал документацию, мне придется прочитать ее снова…

Поэтому, хотя процесс изучения этих вещей сбивал меня с толку и вызывал у меня желание рвать на себе волосы, я чувствую, что как веб-разработчик я поднялся, по крайней мере, в некоторой степени.