Changes between Version 3 and Version 4 of AdvancedApplicationDevelopment


Ignore:
Timestamp:
09/28/26 12:07:41 (2 days ago)
Author:
223306
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedApplicationDevelopment

    v3 v4  
    7676Доколку сите операции се успешни се извршува `commit()`, а при грешка `rollback()`. На овој начин корисникот не може да остане со делумно ажурирани преференции.
    7777
     78
    7879== Database Connection Pooling ==
    7980
    … …  
    124125Connection pool-от беше успешно тестиран при стартување и користење на апликацијата. Апликацијата успешно зема конекции од pool-от, извршува операции кон базата и ги враќа конекциите за повторна употреба.
    125126
     127
     128== Пагинација на административни податоци ==
     129
     130Во администраторскиот дел е имплементирана пагинација за прегледот на нарачките и плаќањата.
     131
     132Наместо сите нарачки и плаќања да се вчитуваат и прикажуваат одеднаш, податоците се прикажуваат по 10 записи на една страница.
     133
     134За ова во SQL пребарувањата се користат `LIMIT` и `OFFSET`.
     135
     136`LIMIT` го ограничува бројот на записи што се прикажуваат на една страница, додека `OFFSET` определува од кој запис треба да започне прикажувањето.
     137
     138Тековната страница се зема преку параметарот `page`:
     139
     140{{{
     141page = request.args.get("page", 1, type=int)
     142per_page = 10
     143offset = (page - 1) * per_page
     144}}}
     145
     146Потоа во SQL пребарувањето се користат:
     147
     148{{{
     149LIMIT %s OFFSET %s;
     150}}}
     151
     152со вредностите:
     153
     154{{{
     155(per_page, offset)
     156}}}
     157
     158Пред прикажувањето се пресметува и вкупниот број на записи:
     159
     160{{{
     161SELECT COUNT(*)
     162FROM project.naracki;
     163}}}
     164
     165односно за плаќањата:
     166
     167{{{
     168SELECT COUNT(*)
     169FROM project.plakanja;
     170}}}
     171
     172Вкупниот број на страници се пресметува според вкупниот број на записи и бројот на записи што се прикажуваат на една страница:
     173
     174{{{
     175total_pages = (total_orders + per_page - 1) // per_page
     176}}}
     177
     178За плаќањата на ист начин се користи вкупниот број на плаќања.
     179
     180Во административниот интерфејс се прикажуваат тековната страница и вкупниот број на страници, а администраторот може да се движи помеѓу нив преку копчињата „Претходна“ и „Следна“.
     181
     182Пагинацијата е имплементирана на:
     183
     184* прегледот на сите нарачки;
     185* прегледот на сите плаќања.
     186
     187Со ова административниот дел е попрегледен и не е потребно сите записи да се вчитуваат и прикажуваат одеднаш кога бројот на нарачки и плаќања ќе се зголеми.
     188
     189
    126190== Заклучок ==
    127191
    128 Во оваа фаза апликацијата е надградена со трансакциско извршување на операции кои бараат атомарност и со connection pooling за поефикасно управување со конекциите кон PostgreSQL базата.
     192Во оваа фаза апликацијата е надградена со трансакциско извршување на операции кои бараат атомарност, connection pooling за поефикасно управување со конекциите кон PostgreSQL базата и пагинација за поефикасен и попрегледен приказ на административните податоци.