Ake technologie pouzit na BE?

Programovacie jazyky, rady, poradňa...
šimik
Novice
Novice
Príspevky: 6
Registrovaný: 08 jún 2022, 18:42

Ake technologie pouzit na BE?

Príspevok od používateľa šimik »

Zdravim, chystam si vytvorit jeden vlastny projekt. Programovat celkom viem, co neviem, myslim, ze sa zvladnem doucit alebo najst si ako na to. Potrebujem skor len pomoct s tym, ake technologie pouzit atd, kedze s tymto vobec nemam skusenosti, a ked uz idem nieco vytvarat, rad by som, aby to bolo moderne. Aplikacia by mala mat Front End a Back End. Zatial riesme len BE s FE by nemal byt az taky problem.

Ide o to, ze existuje nejaky stream zaznamov v realnom case. Ja si z tych zaznamov vyberam len tie, ktore ma zaujimaju (podla klucovych slov). Na to uz mam napisany skript v pythone. Otazka teraz znie, kam s tymi datami, aby sa nad tym dala spravit nejaka prihlasovacia stranka, a po prihlaseni sa mi zobrazili data, ktore ma zaujimaju. Podotykam, ze uzivatelov moze byt viacero, a kazdeho mozu z toho streamu zaujimat ine zaznamy.

Najradsej by som to pisal v pythone, kedze ten mam celkom rad. Urcite budem potrebovat nejaku databazu, vybrat sa skor smerom sql alebo nosql? Potom uvazujem nad nejakym apickom pre FE a pozdava sa mi celkom Flask. Ale uvadza sa, ze fajn je aj django, neviem ale, co bude lepsie. Popripade existuje nieco vhodnejsie na BE nez python?

Je mozne, ze mi nieco unika, nikdy som nic takehoto formatu nekodil, no dost sa na to tesim. Takze sa ospravedlnujem za pripadnu neznalost. Viete mi teda prosim nejak poradit, co este by som mohol potrebovat, a co je najlepsie pouzit? Verim, ze sa tu urcite niekto najde. Dakujem.
aacid
Hardcore addict
Hardcore addict
Príspevky: 5558
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: Ake technologie pouzit na BE?

Príspevok od používateľa aacid »

v zasade je to velmi jednoducha aplikacia, na tvojom mieste by som to rozdelil na 3 casti. jednu uz viac menej mas, to je skript co data ziskava, uz ti to staci len ulozit do databazy.
potom mas jednoduche webapi ktore bude viac menej iba prijimat requesty, vytahovat data z databazy a posielat response.
no a nakoniec frontend.

databaza je skor o preferenciach, niekto ti povie ze nosql je lepsie pokial nevies presnu strukturu dat, ja si myslim ze ta struktura sa vzdy da urcit ked sa chce a preferujem tradicne sql databazy. tam potom nie je moc co riesit, pokial tych dat nebude nejak strasne vela a nebudes na nich vykonavat nejake narocne operacie tak staci aj sqlite, budes to mat 100x jednoduchsie, pokial mas pocit ze potrebujes sql server tak mariadb alebo postresql, vyber si sam.

backend pokial mas rad python a si na neho zvyknuty tak nema moc zmysel utekat inam. flask alebo django... zase je to viac menej jedno, flask by mal byt taky lahsi a mozno sviznejsi, django je trochu komplexnejsie.

samozrejme pri programovani mas vzdy milion moznosti, mozes skusat nove technologie ako napriklad graphql, mozes to spravit cele v cloude, napr firebase. v zasade je to ale uplne jedno, pokial nejdes robit druhy facebook kedy zalezi na kazdom percente vykonu, kazdom malom ulahceni vyvoja, tak ti ta aplikacia bude fungovat nech ju napises v comkolvek.
hlavne je podla mna zacat. pokial si to rozdelis na male nezavysle servisy tak ti nic nebrani sa kedykolvek v buducnosti rozhodnut nieco vymenit. ukladas data do sqlite a mas pocit ze by to chcelo mariadb? upravis skript co tie data uklada (idealne len jednu classu co sa stara o komunikaciu s databazou), rovnako upravis kod co tie data cita a hotovo.
napises backend v djangu a nieco ti na nom bude vadit? nie je problem, kludne prepis backend nodejs, pokial zachovas rovnake endpointy tak frontend bude fungovat bez zmeny.

takze sup sup, vyber si nieco a zacni pisat.
šimik
Novice
Novice
Príspevky: 6
Registrovaný: 08 jún 2022, 18:42

Re: Ake technologie pouzit na BE?

Príspevok od používateľa šimik »

Ahoj aacid,
parada, takyto prispevok som ocakaval. Dakujem velmi pekne. O tom sqlite som velmi nevedel, ale vyzera to fajn a myslim si, ze to uplne bude postacovat.

edit:
Rad by som sa spytal na jednu vec, ci uvazujem spravne, alebo existuje nejake lepsie riesenie.

Budem citat zo streamu data, ktore budem na zaklade definovanych klucovych slov. Tie klucove slova ale chcem byt schopny cez front end upravovat. To znamena niekde na stranke si vyklikam nove klucove slovo, to nejak prebubla do databazy.

Teraz uvazujem, co s tym spravi ten skript, ktory bude citat data. Napada ma, ze v nejakych pravidelnych intervaloch bude asynchronne kontrolovat klucove slova v databaze? A ak nebude zhoda, tak ich upravi. Asi na to budem potrebovat vlakna, ze? Myslite si, ze tento postup je spravny? Dakujem.
aacid
Hardcore addict
Hardcore addict
Príspevky: 5558
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: Ake technologie pouzit na BE?

Príspevok od používateľa aacid »

šimik napísal: 25 jún 2022, 22:34Budem citat zo streamu data, ktore budem na zaklade definovanych klucovych slov.
tu ti asi uslo nieco z pod klavesnice.

neviem teda ci chces podla klucovych slov data ukladat alebo zobrazovat.
asi jednoduchsie a mozno logickejsie by bolo ukladat vsetky data a filtrovat ich az pri zobrazovani.
sice to mozno zaberie viac miesta, ale ulozny priestor dnes nestoji vela a pokial budes ukladat vsetko tak si nebudes v buducnosti trieskat hlavu o stenu ked zistis ze si v skutocnosti chcel zachovavat aj tieto data ale miesto toho si ich filtroval.
potom len na frontende spravis filtrovanie a budes zobrazovat len to co uzivatel vyfiltruje.

pokial ozaj chces ukladat len na zaklade nejakych klucovych slov tak zalezi ako to mas spravene teraz a ako rychlo chces tie zmeny aplikovat. predpokladam ze tam mas nejaky while ktory dookola cita ten stream. najjednoduchsie by bolo v kazdom cykle znova nacitat klucove slova, to by ale mohlo cely skript dost spomalit. mozes si tam spravit nejaky counter a povedat si ze znova nacitas klucove slova kazdych par sekund/minut. nemusis riesit ziadnu asynchronitu, skratka si ulozis timestamp a v cykle budes mat podmienku ze ked uz preslo X sekund odkedy si ulozil timestamp tak refreshnes klucove slova z db.
Napísať odpoveď