Diskuze: Prvá veľká aplikácia
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


:9.4.2020 10:37
Čo sa dá odpovedať na zámerne vágnu otázku? Žiaľ, len rovnako vágna odpoveď: musíš si pre tú svoju aplikáciu zvoliť škálovateľnú architektúru.
Hotovo, to je odpoveď na tvoju otázku. Nič ti však nepomôže. Zjavne si úplný začiatočník bez praxe čo ledva ovláda PHP a o architektúrach moderných web aplikácií nemáš ani šajn. Následkom čoho to na 99,9% nezvládneš, lebo príliš predbiehaš a pred tebou je ešte dosť dlhá cesta k tomu, aby si niečo podobné dal sám.
A áno, sám. Lebo ak očakávaš, že ťa niekto na nejakom webe zmysluplne navedie bez toho, aby vedel o čom hovoríš, tak na podobné špekulácie rovno zabudni.
Jak pise Vladislav. Napsat app neni problem. Problem je sladit hw pro tve
pozadavky. To by mel resit nekdo zkuseny, kdo uz podobna reseni vytvarel. A
Nebude to levna zalezitost.
Napriklad, servery pro google vyhledavac jsou jiny hw nez bezny pc. Nespis bude
vyhodnejsi propojena sit miniserveru.
Neaktivní uživatel:9.4.2020 11:56
Ahoj, já se přiznám, že jsem to téma chtěl přejít mlčením, ale trochu mě ve fórech určených pro řešení problémů vadí škatulkování na způsob, že "je něco zjevné". Tím spíš, když sám uvádíš, že s tím nemáš zkušenosti.
Nicméně ve zbytku budu s [me|]53059[/me|] souhlasit, protože z toho dotazu není vůbec patrné, co dané zadání představuje.
Chápu 2000 divizí s rozsahem uživatelů od 10 do 1000 na divizi, ale co třeba daná divize nad aplikací představuje? Je to jen skupina oprávnění nad sdílenými daty nebo se takovou divizí liší i featury aplikace či rovnou její logika? A co jsou třeba ta sdílená data? To budou uložené soubory (např. výrobní dokumentace) nebo jsou to databázové záznamy o zákaznících, účetnictví, ... ? Jsou i data, která v žádném případě nesmí - byť jen omylem - druhá divize získat? V tak velké organizaci bývají týmy řešící informační bezpečnost a musíš aplikovat i jejich stanoviska na nakládání s daty.
Co mě úplně vyděsilo, je úvah nad provozem takového zadání na běžném hostingu bez vlastní kontroly nad konfigurací běhového prostředí a záloh. Ještě víc pak snaha ušetřit místo provozem na subdoméně (předpokládám tedy existující hostingy), kdy si neumím představit, že se 2000 divizí a jejich hostingů bude shodovat použitou technologií (PHP, .NET, Node.js) natož verzí použitých komponent a konfigurací.
A nad čím to chceš vlastně stavět? V každém druhém odstavci vzpomínáš WordPress, ale explicitně jako vybraná technologie nikde nezazní. Není tak patrné, zda máš v plánu programování celé aplikace, nebo chceš jen adaptovat featury WordPressu.
Těch neznámých věcí je opravdu hodně. V jejich kontextu a s dnešními nástroji je verzování a auto-deployment featur ten nejmenší problém.
Dobre, ďakujem za odpovede kamaráti. Trošku to teda upresnim...
Zamýšľam urobiť "manažéra" pre cirkevné potreby. Tzn. na slovensku máme cca 3000 farnosti, niektoré sú väčšie, tzn. majú stotisíc veriacich, iné zas majú 40 veriacich. Pochybujem, že by sa všetci zaregistrovali. Z vonkajšieho pohľadu je farnosť vlastne samostatná jednotka, z právneho pohľadu má každá farnosť svoje IČO (je teda právnicka osoba), vlastnú základňu farníkov (teda uživateľov), vlastné omše, vlastné financovanie... Viacero farnosti je následne združených pod "diecezu". Ale prakticky sa dieceza nestará o financie ani iné veci danej farnosti, čiže farnosť je kvázi akoby "nezávislá" do určitej miery.
Takže z tohto pohľadu existuje 3000 farnosti, každá si žije svojim životom a nemusí nič riešiť. Vedel by som teoreticky nainštalovať 3000 inštancií a bolo by po probléme.
Ale...
Čas od času sa stane, napr. že človek bol pokrstený v inej farnosti, ako aktuálne býva. Ak chce mať niekto svadbu v kostole, potrebuje doložiť svoj krstný list (resp. teda výpis z matriky z farnosti, kde bol pokrstený). Dnes sa toto rieši papierovo poštou, to znamená, že farar z farnosti A pošle dopis do farnosti B a následne z farnosti B pošle farár výpis z matriky do farnosti A. Proste je to blbosť v roku 2020 takto riešiť veci... A tu narážam na problém toho, že by bolo 3000 inštalacii... ako by spolu komunikovali? Teoreticky by som vedel zasielať nejaké personalizované maily, že by tí ľudia len klikali a automaticky by im ohadzovalo inputy a hľadalo v cudzích databázach. Ale ďalšie čaro je také, že nejakú "free" beta verziu toho projektu budem chcieť pomaly rozširovať o novu funkcionalitu atď... teda z tohto pohľadu ako budem robiť updaty? Kopirovať kody na 3000 rôznych FTPčiek?
Preto zamýšľam to urobiť pod "jednou strechou". A toto som sa v podstate
chcel opýtať. Urobil som za život minimálne 500 webstránok s rozličným
zameraním, niektoré majú návštevnosť 100 návštev denne, iné (napr.
bachledka.sk), ktoré mávajú návštevnosť aj vyše milióna mesačne. V
podstate všetky webové stránky aj aplikácie sú viacmenej o tom, že "CRUD"
do databázy. A toto sa chcem opýtať, pri akom množstve dopytov,
prihlásených ľudí, čo naraz píšu/čítajú z databázy, to už začne
kapať?
Perdpokladám,ž e ak by sa to časom rozšírilo a bolo by trebars milion
userov, že už by normálny hosting na websupporte nestačil a musel by so
zriešiť dajake VPSko... ?
Ahoj.
Neposkytnu asi žádnou odpověď, ale položil bych si na tvém místě ještě
další otázky. Víceméně budeš tvořit jakési CRM, či nějaký podnikový
systém - církev-firma, věřící-zákazník. Samozřejmě se svými
specifiky. Což vyžaduje dost podrobnou analýzu problému.
1.) Je vůbec šance, že to bude mít tolik uživatelů? Propojení církví
atd. do společné aplikace je natolik "velká" věc, že si nedovedu
představit, že by se dobrovolně do tvé aplikace zapojili. Církve samotné
asi dost těžko, farnosti možná a věřící - no, neznám úplně věkové
rozložení, ale z mé představy např. starších lidí a jejich schopnosti a
ochoty práce s počítačem... :/ Vyplatí se to?
2.) GDPR? Při rozsahu, o jaká data může potenciálně jít, je to již
celkem zásadní otázka. Budou se posílat dokumenty? Kde budou uloženy -
zabezpečeny. Co záznamy v databázi?
3.) Opravdu budou dotazy na databázi ten největší problém? Jak často budou
reálně probíhat? Resp. jak často bude aplikace používaná?
4.) Komunikace mezi jednotlivými subjekty by se dala řešit např. přes
datovou schránku. Netuším, jak je to na Slovensku, ale předpokládám, že
stejně jako u nás. I tak se ji lidi pořádně nenaučili používat.
1 vs. mnoho instalací - určitě je lepší spravovat 1 aplikaci, než řešit instalaci, problémy, náklady atd. rostoucí s každou další "instalací". Určitě nechceš říct zákazníkovi "stáhněte si na stránkách toto, nahrajte to na váš webhosting... "
Nechci působit negativně, ale zdá se mi, že profit při daných
nákladech bude minimální či spíše nikdy nevyváží investovaný čas.
Lava:13.5.2020 11:48
No, po dlhšom čase som sa tu opäť dostal
Základ tohto projektu je v tom, aby sa dali planovať veci pre jednotlive farnosti. Z konferencie biskupov slovenska mi zaželali veľa šťastia, že môžem do toho isť, ale že im to je jedno. Takže cirkev o tom vie. Ja to chcem urobiť tak, že keď si to nejaky farar pozrie a skusi free verziu, padne na prdel a s radosťou zacaluje 40€ za ročnu full verziu. Aj dnes použivaju kadejake krosy a ine platene programy napr. na farsku finančnu administrativu, tam by to mali pod jednou strechou.
Praktické využitie je v mnohych smeroch, čo sa týka farnosti ako
samostatnej jednotky. Ja som v mojej farnosti organista (varhanník) a je nás
dokopy 5. Pomaly každý deň si musíme volať/písať e-maily o tom, kto má
ísť na ktorú omšu hrať, proste je to dosť o hubu a nebaví ma to. Kňazi,
miništranti, lektori (tí čo čítajú čítania) majú presne to isté. A
preto ma napadla táto myšlienka.
Generátor omši pokladam za jadro celého projektu, tzn. každý rok pred
začiatkom adventu farár otvorí generátor omši a vygeneruje omše na celý
rok. Vie napr že každý týždeň má omšu v nedeľu o 18:00, tak to v tom
generatore tak nastaví. Vie, že na tej omši hrajem na varhany ja, tak to tak
nastaví. Všetko nakonfiguruje a jediným buttonom vygeneruje 1000 omši
(čiže 1000 rows do DB) s tým, že už bude všetko nastavené. Pre každú
omšu bude nastavený kňaz, organista, lektori, miništranti, kostolník. Pre
každú omšu sa bude dať zapísať intencia (to už prostredníctvom iného
formulára), tzn. že na aký úmysel je slúžená. A tam to tiež bude výhoda
napr. taká, že čas od času príde do kostola babka a dá 300€ so slovami -
odslužte 60 omši na ten a ten úmysel. Kostolník prevezme cash a potom pol
dňa zapisuje do kalendára ako hlupák 60 krát to isté (myslím normálny
stolový kalendar, žiadna PC appka). Následne to týždeň čo týždeň
kaplán prepisuje do farských oznamov, že za koho bude táto a táto omša.
Lenže aj toto by sa dalo na jeden klik a má to hneď vygenerované. Poznám
100 kňazov osobne a každému, čo už nepamätá druhú svetovú vojnu, sa to
páčilo. Samozrejme, dzedovia, čo majú dvesto a viac rokov a nevedia si ani
vytlačiť biskupov list z e-mailu, tak pre nich to nemá význam, no dnes už
máme aj 70 ročných kňazov, čo celkom dobre dávajú na PC a pochopili by
to, naučili sa s tým robiť.
Ďalšia vec, napr z pohľadu človeka... chceš krstiť dieťa, alebo
nahlásiť pohreb, alebo svadbu, tak proste vypíšeš v appke form a appka ti
automaticky vygeneruje všetky potrebné dokumenty, ktoré vytlačiš,
podpišeš a doručiš na faru (v budúcnosti napr. zapracujem elektronický
podpis), automaticky sa to uloží aj do farskej elektronickej matriky, nie jak
dnes kňaz každý rok na silvestra celý deň vypisuje matriku krstov, svadieb
a pohrebov jak idiot, lebo sa mu za celý rok nakopí 300 záznamov.
Takže z môjho pohľadu to význam má.
Len teraz ide o to, koľko tých dát musí byť, aby to začalo kapať na bežnom hostingu? Jedine toto riešim, nič iné. KEď bude 200 kňazov naraz insertovať po 1000 rows do DB, čo sa stane? Zožere to, spadne databáza, alebo čo?
Ohľadom GDPR - to dám samozrejme vypracovať špecializovanej firme, aj keby to 3000€ malo stať...
Urcite jsou hostingy, kde tohle nebude problem.
Ale pochybuji, ze by knez najednou odesilal 1000 zaznamu. Mysleno behem 1s.
Jakykoliv vetsi interval je pro server flakacka. V online hre rd2.cz, kdyz jsem
to jeste hraval, tak bylo online kolem 300 hracu (behem 5s ten hrac udelal klik
na dalsi stranku a stravil tam treba pul hodiny nebo se vykecaval na forku). To
nejspis jako server pouzivali pred 15 lety bezny pc. Je fakt, ze se nedelili o
rezii s dalsimi programy. Takze dnesni servery s tim nebudou mit problem. A
kdyz, urcite se da koupit drazsi hosting.
Mozna bych zvazil pridelit k tomu carovy kod. Kdyz vypise svatbu, tak aby
udaje o ni nemusel prepisovat a vyhledavat 10x, tak by naskenoval carovy kod z
papiru.
Chtelo by to skutecne zmapovat, co ti lidi delaji, proc to delaji a hlavne treba
z nekolika nezavislych mist. Z pohledu vsech lidi, kterych se to dotyka, co by
jim vyhovovalo. Idealne, shromazdit 5 takovych skupin lidi z 5 okresu, editory,
moderatory, zakazniky, a zjistit od nich, jakym zpusobem s tim pracuji.
Treba zjistis, ze vyplnit rukou formular neni pro ty lidi takova zatez jako
prace s pc nebo cekat, nez to tam nekdo pretuka do pc. Ze spousta tech formularu
se pouzije pouze k jedinemu ucelu. Vykopirovat je 100x stoji par korun, kdezto
tisk beznou tiskarnou uz je mnohem drazsi.
Tatka pracoval pro MRP ucetnictvi. Maji aktualni produkt podle zakonu CR. Maji i
slovenskou verzi. Spousta lidi je s tim spokojena. Mozna by ti to usnadnilo tu
cast, ktera resi ucetnictvi.
:13.5.2020 14:18
Teraz už lepšie chápem o čo ti ide. A tak ti viem rovno povedať, že si nemyslím, že potrebuješ 3000 inštalácií. Myslím, že sa z nedostatku skúseností pozeráš na problém z nesprávneho uhla pohľadu a všetko čo potrebuješ je (progresívna?) SPA web aplikácia. Ktorá úplne postačí ak bude postavená nad jediným web hostingom, nad jediným databázovým serverom. Plus žiadne GDPR zatiaľ nemusíš riešiť, žiadna dátová schránka nie je potrebná, žiadne PHP, žiadny Wordpress - ten je na toto nevhodný, atď. Plus by som zmenil model a nepredával to za 40€ jednorázovo, ale za pravidelný, nízky mesačný poplatok. Platiteľný aj na rok vopred samozrejme, ale hlavne pravidelný, nie jednorazový. Lebo aj o ten web sa bude treba starať pravidelne, nie jednorázovo. Plus by som dovolil registráciu aj jednotlivých farníkov, nie len kňazov. Atď., atď. Veľký projekt, presnejšie rozsiahly, ale realizovateľný s bežne dostupnými open source technológiami nad nijak špeciálne drahým hostingom.
+20 Zkušeností
+2,50 Kč

Cirkev ma trosku ine pravidlá, co sa tyka uctovnictva, ma rozne ulavy
atd...
To je to, co som chcel vediet. Poplatok som mal na mysli 40€ rocne na farnost.
Je ich 3000, keby do projektu slo 2000 farnosti, tak cca 8k € mesacne. To by
sme sa uzivili aj dvaja koderi
Wordpress teda nie... Nie som idiot. Zacal som na laraveli. Ale potom som
zistil, ze ma obmedzuju vsetky tie laravelovske somariny a potom mi zrazu zacal
hadzat z nicoho nic error (asi zas daco composer), tak som sa inspiroval tuto
serialom o vlastnom cms, z ktoreho som pouzil ciastocne router (nice urls
nepotrebujem v intranet appke) a este nejake veci ma vypisy atd... takze v
podstate vanilla php. Zatial mam poriesenu registraciu a prihlasovanie
uzivatelov (vratane zapametania prihlasenia, forgotten pwd, mail verification) a
user roles... Tak uvidime,co z toho bude napokon
Dakujem vam vsetkym za rady
Este dve veci - co to je SPA appka? Veci ako react, angular, vue a pod. mi
nic nehovoria. Javascriptu sa vyhybam jak cert krizu. Cim menej JS, tym lepsie
takze ak sa ta SPA tyka
toho, tak ti nedam.
Ja som sa na to pozrel z ineho pohladu - chcel by som to zrobit komplet vsetko
na kolene. Vlastne jquery a font awesome su jedine veci, ktore do toho projektu
includujem. Ani bootstrap, ani ziadne ine somariny. Na datepicker este budem
musiet asi natiahnut jquery UI, ale to je fakt vsetko. Dovod je ten, ze som
vsetko robil ja a tym padom budem poznat appku do najmensieho detailu. Nevyhoda
je zas ta, ze znovuobjavujem koleso, miniem na to stokrat viac casu a mozem
narobit stokrat viac chyb. S tym ale nejako ratam.
SPA nedelam ale ja jsem to pochopil tak ze se jedna o aplikaci ktera vyuziva API a z neho si pomoci requestu bere potrebne data, komponenty bez nutnosti restartovat celou stránku, vždy jen to co je potřeba, SPA se vice podoba desktopove aplikaci nez klasicky web.
Jako vyhody SPA se bere napriklad:
- rychlejsi nacitani (nemusi se nacitat cely web)
- castecny offline pristup
- univerzalnost (muzes udelat jednu aplikaci pro vsechny platformy: mobil, web, desktop)
- pri dobrem designu to vypada elegantne
- i presto ze se hlavni cast odehrava na strane klienta neni problem udelat neco jako router
- a mnoho dalsiho
Urcite znas napriklad Spotify, to je treba SPA.
Jestli jsem to napsal spatne tak se omlouvam, kdyztak me opravte.
Jeste jedna vec, uz neni duvod se vyhybat javascriptu diky vecickam jako je
typescript atd. aspon ja to tak mam
:13.5.2020 22:19
Ono to nebude CMS, skôr databázová aplikácia. A malo by to byť riešené práve s React, Angular, alebo Vue. A backend by stačil ako REST API s Node + Express. A plus MySQL ako databázový server. Ale ak to skúsiš urobiť sám, s PHP a po starom, s Bootstrap a jQuery, tak si na tom vylámeš zuby. Ono práve na to, aby si sa nezamotal v rozsiahlejšej aplikácii, vznikol React a pod.
Jop, ja vam verim kamarati... nikde nie je napísané, že ak mi tento
projekt vyjde a prinesie mi 8k € mesačne, že to postupne nebudem prerabať
do "modernejšej" verzie, aj za použitia reactu a vue a týchto škaredosti.
Momentálne mi to nič nehovorí. Moje jquery znalosti končia pri vytvorení
custom slideshow enginu... takže tak. Chcem to postaviť na niečom, čo
ako-tak viem robiť a uvidime, ako sa to vyvinie. Osobne sa nebránim novým
technologiam, ale toto robím vo voľnom čase v podstate.... Takže zatiaľ to
bude PHP a uvidíme ako ďalej.
Zoberte si také csfd, zľavomat, alebo aj starú dobrú hru webgame (u nej je
problém ten, že v roku 2005 zaspali na vavrinoch, ale mali 6-7k hráčov
počas najlepšej éry...) všetko to sú PHPčkové projekty. Ak mi niekto chce
tvrdiť, že php už je old school a že zomiera, tak mu neverím, lebo
chcete-nechcete, stále php tvorí 80% internetu.
Ale v zásade či php, či vue, či react, či java, či dot net, všetko to
je stále len lopata, ktorou treba vykopať jamu. A či vykopem jamu s fiskars
lopatou, alebo festa lopatou, alebo tesco value lopatou, stále bude napokon
diera vykopaná
Takže áno, zatiaľ to robím "po starom" vanilla php + custom CSS (bez bootstrapu), ako som písal, v projekte používam len jquery a font awesome, to je všetko, čo je externá knižnica. Všetko ostatné je moje.
Jasne, že toto nebude CMS, ja som len chcel povedať, že som sa inšpiroval tým own CMS, čo tu je na itnetworku v sekcií PHP a použil som z neho nejaké veci na "štart". Napr. ten class autoloader, alebo aj router, ktorý som si ale upravil tak, aby fungoval po starom na $_GEt a nie na pretty urls. Aj wordpress má vo wp-admine query stringy a ide. Inak osobne pokladám wordpress za kôpku hnoja, čo sa kódu týka.
Zatracovanim bootstrap delas chybu.
Js potrebujes take, minimalne pro http requesty.
Ja bych na to sel zpusobem web-services (webove sluzby). Nevim, jka se to jmenuje v modernim pojde ale v zasade jde o to, ze pres url adresu ziskas vysledek sql dotazu. Ono je to mirne pomalejsi nez primy pristup, ale vyhodnejsi, zhlediska dalsiho zpracovani.
Cili, mas sql dotaz seznam uzivatelu
SELECT * FROM uzivatele ...
Zavolas to z url
ws.php?service=userlist&format=json
A tvuj php program ws.php overi session prihlaseni uzivatele. Overi, zda ma
prava na ten sql dotaz. Zjisti data sql dotazu. A preformatuje je do zvoleneho
formatu. Format si definujes jako json pro requesty, xml pro externi app,csv
text pro excel, text, html kod. Samozrejme si kod pro prevod doprogramujes jen
tam, kde potrebujes.
Ale takhle budes mit jednotnou platformu, ktere predas jmeno funkce, parametry v
url a ona to preformatuje na sql dotaz. Vse na jednom miste.
Vyhoda je, ze to muzes pouzit pro js requesty, prave pro ajax. Nevyhoda je mensi
rychlost zpracovani, pokud bys chtel v externi app zavolat nekolik tech url a
zpracovat je v jinem formatu.
Priklad. My jsme pouzivali Stag. To je web system pro studium na VS. Pouzival
tez WS. Vyuzivali jsme to s kolegou k tomu, aby jsme pro ruzne lidi zpracovali
ruzne vystupy. Spoustu ws umel zobrazit jako pdf, treba rozvrhy. Nebo XLS pro
excel. Nebo hodne jsme pouzivali CSV pro excel. Vytahli jsme tabulku seznam
stud. program. K ni doplnili seznam oboru. A k ni z dalsich WS vytahli info o
oborech. Cili, jsme volali treba 2000x url pozadavek. Coz je pomerne zatez.
Nektere veci se zpracovavali i 5s. (sql dotaz, primy, by to ziskal za 0.1s,
zobrazil so 1-2s) Nicmene, takove jsme potrebovali jednou za pul roku a v dobe,
kdy z systemu nikdo nebyl. Vysledky te tabulky jsme pak prevadeli z excelu do
wordu a rozesilali ucitelum, aby si opravili v infu o studijnim oboru.
Stag je jiny pripad. Co popisujes ty, to by mel zvladnout bezny pc. Stag mel v
sobe 10.000 studentu. Bezel na IBM platforme (ktera sama o sobe stala asi pul
milionu), ktera je sama o sobe desne draha. Tusim, pronajem na rok vsech sluzeb
vychazel na pul milionu CZK. Ale slo o spolehlive reseni, servisovali nam to,
zalohovali. Zadna starost. Univerzita zacala setrit a presli jsme na IS muni.
Levnejsi, ale tez o dost horsi system. Nicmeme, protoze vedeni a ucitele u Stagu
umeli vyuzit asi 1% sluzeb, tak zmena se jich nedotkla, ted jsou to 2%, ktere
musi pouzivat, protoze tam pro zmenu nema kolega pristup, aby delal za ne jako u
Stagu Stoji nas to asi 1/5.
Sql databazi nemame pristupnou (u stagu jsme meli vlastni programky s sql
dotazy). Takze jsme odkazani uplne na cizi sluzby. Na druhou stranu, kolega
nemusi zpracovavat vytahovat informace, ktere ten system neumi zobrazit.
Ok. Zpet k tvemu problemu.
Je pekne, ze navrhujes vlastni reseni. Ze tvuj tip je 2000 farnosti. Ale mozna
bys nejdriv mel zjistit, jakym zpusobem to dostavad farnosti resi. Mozna
pouzivaji i lepsi reseni, nekteri. Ono se muze ukazat, ze do toho navezes
maximalne ty, co nemaji zadne reseni nebo tech par lidi, kterym to sam ukazes a
vyzkousi si s tij pracovat. Coz muze byt i desitka lidi, jen.
Lava:14.5.2020 9:13
No takto... v cirkevnych kruhoch sa pohybujem od svojich 6 rokoch, kedy som
bol 4 roky miništrant Od
13 som začal hrať na organe. Zažil som 100 kňazov, hral som v 50 rozličnych
farnostiach, s mnohými som v kontakte aj dnes. Viem približne, ako to chodí
globálne, že naša SK cirkev (myslím konferenciu biskupov slovenska - KBS)
nič také nerieši. Oni ani nevedia vyriešiť (alebo nechcu) ako platiť
organistov a kostolníkov, takže čas od času farár niečo odsype zo
zvončeka, čo sa považuje za "milodar" farnosti organistovi za jeho čas a
ochotu. Ale nejake dohody o pracovnej činnosti rozhodne nečakaj. To len na
okraj.
V praxi nie je nič. Viem ako to farnosti riešia. Zapisuju do kalendara
(papieroveho), čo zabera neskutočný čas. Jednotlivé dokumenty si farnosti
medzi sebou posielajú poštou ako pred sto rokmi. No proste neexistuje fakt
nič. Maximalne nejaké väčšie farnosti majú shared google calendar, ale to
je všetko, fakt. Ver mi. Ak by niečo existovalo, tak do toho nejdem...
Tieto webservices sme používali, keď som robil v Quatre (Kiskove užery), lenže ja som s nimi priamo nepracoval, vždy som ich považoval za "hotovú" vec. To znamená, že som zavolal servicu (rest, soap,...) s parametrami a viac som sa nestaral, ako to funguje tam. Takže vlastne neviem, načo je tento systém dobrý (no teraz už viem, keď si to napísal vyššie), myslel som, že to má vplyv na rýchlosť a použiteľnosť, aby to proste databáza "dávala" ako sa povie. Tam boli terabajtové databázy s miliardou riadkov, tak som bol na tom, že ak by som priamo pustil dajaky SQL query z mojho kódu, tak to proste chcipne.
tady mam takovou jednoduchou class na WS.
Z kodu vidis, ze tam mam normalni volani sql dotazu "getFaqContentById" a je
mozne to zavolat pres
$SQL = new classSql($config);
$pageEngine = new classPageEngine();
$WS = new classWebServices($SQL, $pageEngine);
$path = $WS->service('getFaqContentById', array('id'=>$QA['id']));
// kdybych to chtel jako sluzbu, tak si udelam soubor
// --- getFaqContentById.php ---
require_once 'init.php';
$SQL = new classSql($config);
$pageEngine = new classPageEngine();
$WS = new classWebServices($SQL, $pageEngine);
$id = isset($_GET['id']) ? $_GET['id'] : '';
$WS->service('getFaqContentById', array('id'=>$QA['id']), 'json');
// Nebo si udelam prave soubor ws.php, ktery by se mi staral o url requesty.
// Ale to tam zrovna nepouzivam, nepotrebuji.
// A jenom slo o takovy pokus prepsat sql dotazy to takove podoby.
// --- class web-services ---
class classWebServices
{
var $SQL;
function __construct($sql, $pageEngine = '')
{
$this->SQL = $sql;
$this->pageEngine = $pageEngine;
}
public function checkPermition($name='')
{
// if (!$this->pageEngine->checkPermition($name))
// {
// echo "Nemas dostatecna opravneni.";
// exit();
// }
return true;
}
public function service($name, $opt=array(), $format='')
{
if (!is_callable(array($this, $name)))
{
return;
}
return $this->{$name}($opt, $format); // call_user_func(array($this, $name));
}
public function format($data, $format='') // output format php array (/ json / xml / csv - not implement)
{
if ($format=='')
{
return $data;
}
}
public function query($query)
{
//echo $query.'<br>';
$arr = array();
$result = $this->SQL->query($query);
while ($row = $this->SQL->fetch($result))
{
$arr[] = $row;
}
return $arr;
}
public function queryInsert($query, $params, $format='', $perm='')
{
$this->checkPermition($perm);
foreach($params as $key=>$value)
{
$params[$key] = $this->SQL->escapeValue($value);
}
$query = vsprintf($query, $params);
return $this->SQL->query($query);
}
public function queryCount($query, $params, $format='', $perm='')
{
$this->checkPermition($perm);
foreach($params as $key=>$value)
{
$params[$key] = $this->SQL->escapeValue($value);
}
$query = vsprintf($query, $params);
$result = $this->SQL->query($query);
$count = $this->SQL->fetchCount($result);
return $count;
}
public function queryItemAll($query, $params, $format='', $perm='') // array(array())
{
$this->checkPermition($perm);
foreach($params as $key=>$value)
{
$params[$key] = $this->SQL->escapeValue($value);
}
$query = vsprintf($query, $params);
$data = $this->query($query);
return $this->format($data);
}
public function queryItemOne($query, $params, $format='', $perm='') // array(array())
{
$this->checkPermition($perm);
foreach($params as $key=>$value)
{
$params[$key] = $this->SQL->escapeValue($value);
}
$query = vsprintf($query, $params);
$data = $this->query($query);
$data = isset($data[0]) ? $data[0] : $data;
return $this->format($data);
}
public function getFaqContentById($opt=array(), $format='') // faq.php
{
$query = "SELECT * FROM `faq` WHERE `id` = '%d' LIMIT 1";
return $this->queryItemOne($query, array(
$opt['id']
), $format);
}
Michal Oravec:20.5.2020 0:02
Kvopka hnoja bude tvoje pseudo CMS.
By the way
https://www.itnetwork.cz/…7ea2200c2c9b
Chlapec po 4 rokoch ziadna zmena, radsej na to kasli...
V tom forku zminuje nette, to by mozna nebylo spatne. Zalezi na tom, co mu vyhovuje. Ja davam prednost primemu kodovani v php vlastnim stylem a classy nez frameworkum. Ale nebranim se tomu, kdyz to nekdo chce jinak, umim pracovat i s nimi. Pokud mam upravit jiz funkcni program, jsem schopny si v classech a pres google dohledat, jak tu ci onu zmenu provest spravne s vyuzitim frameworku.
K nette, autor poskytoval sveho casu i skoleni.
Michal Oravec - Tak, je rozdil, kdyz programuje v praci a ve
svem volnem case. To je jasne. Ja to taky vidim jako blede, hackersky pristupne
osobni udaje levou zadni. Ale neberme mu iluze. Me programy taky nejsou vzdy
zazrak, presto funguji
Ja bych sel do nejakeho uz hotoveho free cms, treba. On to asi ted vidi jako
brnkacku, ze to nejake frameworky za nej vsechnu udelaji. Ale ve skutecnosti se
jedna asi o pulrocni programovani a testovani, nez to vsechno odladi do jakez
takez podoby.
Zvlast mne prekvapuje, jak snadno se vzdava bootstrapu " Ani bootstrap, ani ziadne ine
somariny."
Zobrazeno 20 zpráv z 20.