Lemmy Lemmy 23 жовтня 2022, 01:59

Поточна робота над UJournal (23 жовтня)

При­віт, хочу поді­ли­ти­ся що ще вда­ло­ся зро­би­ти по сер­вер-сайд рендерінгу.

Пер­ше, вда­ло­ся пере­ро­би­ти увесь фронт на робо­ту з онов­ле­ною API-лібою UJournal JS Client. Ця ліба під­три­мує робо­ту як на бекен­ді, так і на фрон­тен­ді. Я почи­стив ліб­ку від монад. Чесно, досі не дуже зро­зу­мів яка користь з монад, а брак доків зов­сім ускла­днює розуміння.

Основ­ним момен­том пере­хо­ду до онов­ле­ної ліби є пере­роб­ка коду UJournal UI на робо­ту без монад. Це затро­ну­ло пра­кти­чно усі фай­ли систе­ми. Але, суб’є­ктив­но код став наба­га­то зро­зумі­лі­шим пере­сі­чно­му програмісту.

Іншим момен­том є пере­ро­бле­н­ня з фрон­то­во­го рен­де­рін­гу на сер­вер­ний. Міня­є­ться сама кон­це­пція отри­ма­н­ня інфор­ма­ції бра­у­зе­ром. Якщо рані­ше ми отри­му­ва­ли пусту сто­рін­ку, запу­ска­ли JS і потім йшли до сер­ве­ра за текс­том поста, то тепер бра­у­зер отри­мує від сер­ве­ра одра­зу сто­рін­ку з постом. Якщо у пото­чній вер­сії у нас є API-сер­вер і папка з ста­ти­чною аплі­ку­хою, то нова вер­сія буде мати API-сер­вер та фронтенд-сервер.

Який резуль­тат зараз маю. Я пере­вів стрі­чку постів та сто­рін­ку поста на сер­вер­ний рендерінг:

Можно звер­ну­ти ува­гу, що URL тепер має більш зру­з­умі­лий вигляд.

Також HTML сто­рін­ки має інфор­ма­цію поста, що добре для пошу­ко­вих машин:

Кро­ки які зали­ши­ли­ся для пере­хо­ду на нову версію:

  1. Мені потрі­бно закін­чи­ти пере­роб­ку рен­де­рін­га UJournal UI на серверний;
  2. Мені потрі­бно розі­бра­ти­ся як пра­виль­но скон­фі­гу­ру­ва­ти Nginx щоб він почав пока­зу­ва­ти NextJS сер­вер­ну части­ну з Docker.

Щодо Nginx то я роз­гор­нув пов­но­цін­не ото­че­н­ня в доке­рі, тож змо­жу ство­ри­ти кон­фі­гу­ра­цію для нової вре­сії, а вже потім роз­гор­ну її на сервері.

Це поки всі нови­ни про пото­чний стан робо­ти. Я буду роби­ти такі суто техні­чні пости щоб мати змо­гу опи­су­ва­ти те що роблю і при­три­му­ва­ти­ся намі­че­но­го плу­ну. Якщо є пита­н­ня буду радий від­по­ві­сти. Всім добра!

  • 19
  • 13
  • 7

13 коментарів

  • stopthewar stopthewar 3 роки тому

    Круть. хотя я ниче­го не понял. но всё рав­но круть

    • 0
    • Lemmy Lemmy 3 роки тому · Автор

      Да, тут будет поня­тно толь­ко тем кто сам разра­ба­тыва­ет фрон­тенд. Мне важно дели­ться про­грес­сом, пото­му что это созда­ет ощу­ще­ние дви­же­ния впе­рёд. Когда зада­ча растя­ги­ва­е­тся на неде­лю из-за сво­ей сло­жно­сти, необ­хо­ди­мо все рав­но ее как-то пре­зен­то­вать, что­бы видеть про­де­лан­ный резуль­тат и направ­ле­ние движения.

      • 0
  • ohshie ohshie 3 роки тому

    нічо­го не зро­зу­мів, або дуже дякую за малень­кий уютный УЖ отку­да не хоче­тся уезжать

    • 0