Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - registrovany123

Stran: 1 2 [3] 4 5 ... 35
31
Server / Jak na deploy Python aplikace na Roští.cz
« kdy: 31. 12. 2024, 17:42:46 »
Čau,

protože jsem se s tím celkem natrápil, tak tady dávám knowhow, vzhledem k tomu, že to Roští nakonec docela funguje. Bohužel se mi nepodařilo rozjet CI/CD, protože tam má Roští jednak nějakou chybku, druhak to mají udělané pro Node.js. Tak jsem to obešel a dělám deploy přes rsync.

Kroky:

1. Na Roští si založím účet, trochu pročtu dokumentaci a podívám se, jaká je nejnovější verze Pythonu (Dneska je to 3.13). Rovněž si zvolím, jaký použiju tarif - pokud mi u nejlevnějšího tarifu nestačí 1GB místa na disku, nevadí - cokoliv přeteče se prostě jen naúčtuje, viz ceník.

2. Aplikaci v Pythonu (Já používám Flask, ale to je celkem jedno) napíšu nebo aktualizuju na nejnovější verzi Pythonu. Díky tomu se můžu dostat až na 3.5 roku podpory a nemusím na to celou tuto dobu šáhnout. Python verze mají totiž podporu přibližně jen 3.5 roku od vydání, pak je možné očekávat, že ani Roští nebude chtít dále nepodporovanou verzi Pythonu mít.

3. V mojí Flask python aplikaci musím zařídit, že je spustitelná příkazem "python3.13 -m app", tedy že nevzniknou problémy s importy závislostí atp.

4. Roští používá pro správu Python aplikace software s názvem "gunicorn". Tento software potřebuje, aby se v mém kořenovém "app.py" souboru vyskytovala globální proměnná s názvem "application". Tedy v mém případě instanci třídy Flask přiřadím do proměnné s názvem "application = Flask(__name__, )"

5. Když mi aplikace na localhostu správně běží, můžu vyrobit script pro její deploy:

Kód: [Vybrat]
#!/bin/bash

rsync -arv -v -e "ssh -p CISLO_VASI_APP_V_ROSTI" --exclude .git --exclude data ../$jmeno_adresare_s_projektem app@ssh.rosti.cz:/srv/app

Tento script se po spuštění přesune do adresáře o úroveň výš a zkopíruje obsah adresáře s projektem do Roští

6. Následně potřebuju upravit cestu v systémové aplikaci "supervisor.d" k mému "app.py" souboru. Otevřu si config:

Kód: [Vybrat]
cd /srv/conf/supervisor.d
vim python.conf

Takto vypadá:

Kód: [Vybrat]
[program:app]
directory=/srv/app/jmeno_adresare_s_mou_aplikaci
command=/srv/venv/bin/gunicorn -u app -g app -b 0.0.0.0:8080 --access-logfile - --error-logfile - --reload app

autostart=true
autorestart=true
stdout_logfile=/srv/log/python.log
stdout_logfile_maxbytes=2MB
stdout_logfile_backups=5
redirect_stderr=true

Důležité jsou první 2 řádky, zejména pak "directory=", který musíme změnit, protože originálně ukazuje jinam. Na řádku "command=" nemusímě měnit z originálního stavu nic, tedy pakliže se náš hlavní soubor jmenuje "app.py". Pokud ne, přidělali jste si práci.

7. Když máte aplikaci zkopírovanou do Roští, závislosti máte nainstlovány "pip3.13 install -r requirements.txt", tak stačí zavolat příkazy:

Kód: [Vybrat]
$ supervisorctl reread
$ supervisorctl update
$ supervisorctl restart app

8. Tímto by aplikace měla běžet a být přístupná z Internetu. Pokud není a v browseru vidíte chybu, stačí se podívat do logu:

Kód: [Vybrat]
$ /srv/log
$ cat python.log

Zde uvidíte chybu, tu stačí přečíst, opravit a zkusit znovu udělat restart aplikace přes supervisor.

9. Pokaždé když spustíte script pro deploy, tak dojde k automatickému přenasazení (tedy alespoň mi jo)


32
Server / Re:Hosting pro Python à la PHP hosting
« kdy: 31. 12. 2024, 09:12:35 »
Příspěvek k tématu a do pranice, vzácný jev na Root.cz

Ano, je otázka jestli to vadí - mě to nevadí. Navíc, chci vidět, jak mi to někdo vyhackuje - přístup nehaš co tě nepálí a continuous improvement.

Je rozdíl, když si někdo něco dělá v práci a někdo něco doma. S náročností a každou blbinou o kterou se člověk musí postarat (Nesnáším řešit SSL, a AWSkové věci jsou ještě horší z hlediska času) roste složitost strmě, a s každým problémem navíc si člověk rozmyslí, jestli tu věc vyrobí nebo se na to vykašle.

Zrovna třeba dělám webovou aplikaci pro komunitu jedné online hry.

V Pythonu ve Flasku vím, že mám security hole jako hrom, přes kterou se dá v podstatě přečíst celý disk :D Ale nikdo na to nemá šanci přijít, když neuvidí zdroják, a i kdyby někdo zdroják měl, tak nevím proč by se to kvůli mé nabastlené aplikaci snažil luštit, a i kdyby se snažil, tak ať si ten disk přečte, stejně tam nic nenajde.

Od hostingu bych proto chtěl, ať mi udělají:

1. Přístup na 1 port od mé appky
2. Přístup přes SSH
3. Zařídí HTTPS
4. A vemte si, že i ona ta díra v neaktuálním SSH se dá vyřešit na straně hostingu tak, že by se dělal nějaký SSH forwarding, tzn. že SSH jde nejprve na server od webhostingu, a z něj teprve se udělá ssh na můj server. Technicky to možné jednoznačně je, jestli jsou k tomu technologie připravené, to nevím, nejsem sysadmin.
5. I ten můj port s nějakým web serverem se dá na straně hostingu volat přes nějaký aktuálizovaný apache, takže do mé appky už budou chodit jen čistě HTTP requesty.

Výše uvedeným mi může hosting udělat hradbu okolo mojí appky a tam mi potom můžou běžet klidně staré verze všeho, hostingu to může být ukradené a když výše uvedené hosting zařídí, tak je to hotovo.

Koneckonců to ani není žádné scifi, to co jsem pospal se dá přesně udělat v AWS EC2, requesty necháp přeposílat přes API Gateway nebo něco takového. To s tím SSH awsko ale asi neumí. Nicméně je s tím voprus a člověk se naštve a nakliká, a potom to ani pořádně nefunguje, všude je v něčem háček.


33
Server / Re:Hosting pro Python à la PHP hosting
« kdy: 31. 12. 2024, 01:17:16 »
Když se hosting toho dockeru postará o to, že je do dockeru otevřený jen 1 port, tak jak by mi to někdo vyhackoval?

Neříkám, že to není možné udělat přes webový server, který bude mít nějakou díru, a někdo to hackne přímo přes ten port 80, ale to je tak všechno, nemyslíte?

Nemluvě o tom, že i ten problém s hacknutím web serveru se dá vyřešit prostě jenom tím, že tam dám nějaký exostické web server co nikdo nezná a co se nijak a ničím nehlásí a nepřizná, kdo je.

A hacker udělá co? Nic. Protože zná jenom postupy pro Apache a Nginx.

Můžu tam dát klidně nějakou exostiku napsanou v Pythonu a to nechám naslouchat v tom dockeru - a adios amigos.

34
Server / Re:Hosting pro Python à la PHP hosting
« kdy: 31. 12. 2024, 00:53:35 »
Měním požadavky. 5 let je málo, chci ať to běží 15 let. A nechci na to šáhnout.

Idální stav je:

1. Zabalím si to do kontejneru
2. Tady hezky máte ten kontejner, hezky mi ho rozjeďte
3. Tady chci tuhle doménu a přesměrujte mi traffic na ten můj kontejner na port 6666
4. Ne, opravdu mě neotravuje s SSL, to je váš problém - https ať na ten můh kontejner funguje automaticky.
5. Ne, nebudu řešit certifikáty.
6. Dalších 15 let mě s ničím neotravujte, jako by nestačilo, že mě už každý měsíc bilujete.
6. Ne, nezajímá mě nic dalšího, čus.

35
Server / Re:Hosting pro Python à la PHP hosting
« kdy: 31. 12. 2024, 00:23:12 »
Zlatý docker, k tomu, co tam mají na Roští, jsem nějaký skeptický. Zabalím si všechno i venv do dockeru a adios amigos, as far as tam nemám bugy, tak na to nemusím šahat.

36
Server / Re:Hosting pro Python à la PHP hosting
« kdy: 31. 12. 2024, 00:08:15 »
Hmmmm, tak jsem asi zjistil, jakým problémem trpí Roští.cz. Protože je tam všechno sdílené.

Totiž, důvod toho, proč jsem to chtěl použít namísto AWSka je, že je to "jednodušší" než nastavovat EC2.

Jenže.

Já s dovolením ještě pořád dělám v Pythonu 3.9, mám v něm udělané všchno a nemíním přejít na novější, a Roští.cz už tam má Debian s 3.13, takže samozřejmě že se podělala moje netriviální Flask aplikace.

Ano, můžu rozjet ten nejstarší Runtime co tam mají, kde je pořád Python 3.9, ale mám takové zlé tušení, že to za chvíli odstřihnou a mě to přinuté přejít na novější Python.

Zároveň protože je to jakýsik sdílený linux tak já tam nemůžu instalovat věci z apt, furt to píše permission denied.

A odmítám kompilovat Python 3.9 ze zdrojáků, na to můžou apomenout.

Já prostě sakra chci něco vyvinout, nasadit to a nechci o tom slyšet a vědět dalších minimálně 5 let. Naprosto odmítám, abych kažý 1 rok něco fixoval, protože Roští.cz by přešlo na novější Runtime a staré by odstřihlo.

Takže smolík pacholík. To už se mi víc asi vyplatí to AWSko, nebo ten fujtajbl Serverless, protože jestli si tam nepřipravili nějakou podělávku v tom AWSku, tak tam v tom serverless to snad těch 5 let opravdu umí běžet. Asi.

37
Server / Re:Hosting pro Python à la PHP hosting
« kdy: 30. 12. 2024, 07:30:11 »
To mi nevadí, že je sdílený, co by mi vadilo je, kdyby neměli dobře udělaný management distribuce CPU resources mezi jednotlivé usery. Nevím, jak s PGéčkem docílí to, že každý db user chvilku tahá pilku. Aneb když jeden User spustí náročný job v DB, tak co na to ti ostatní.

38
Server / Re:Hosting pro Python à la PHP hosting
« kdy: 29. 12. 2024, 20:35:38 »
Rosti.cz vůbec nevypadá špatně, za 80,- Kč měsíc a za 5 minut vč. registrace mám připravený jakýsi kontejner do kterého se můžu hned ssháčkovat a dokonce je pro mě hned připravená i url adresa:

https://mojeapp-7924.rostiapp.cz/


Kdyby tohle stejné chtěl někdo udělat v AWSku v EC2 a ještě s tím nedělal, tak má robotu na celý den i víc.

Ale nějak nepobírám tu jejich DB Postgre, proože v AWSku za základní RDS s Postgresem dá člověk tak 2000,- Kč / měsíc minimálně, tady jsem to jen naklikal a je to připravené - tak jakto, že se vlezu tak levně? To nechápu.

39
Vývoj / Re:Oplati se Java?
« kdy: 29. 12. 2024, 17:43:10 »
Na backend pro svoje vlastní aplikace používám Python a Flask, ale v práci zásadně Javu a Spring.

Python má výhodu v jednoduchosti, ale jakmile potřebuješ něco udělat pořádně, protože to bude mít 30000 řádků a víc, tak Python ztrácí.

V Pythonu se nedělá dobře typování, je pro to sice podpora, ale jakmile začneš dělat z Pythonu Javu, tak se začnou ukazovat limity toho jazyka. Pyhton se dokonce připokakynká když člověk jenom potřebuje parsovat jsony na dto objekty. Thedy si člověk uvědomí, k čemu je Jackson v Javě a proč je ta knihovna taková sofistikovaná.

A dalši věci.

40
Server / Hosting pro Python à la PHP hosting
« kdy: 29. 12. 2024, 17:35:39 »
Potřebuju někdy udělat nějakou drobnou web aplikaci přístupnou z Internetu. Preferuju na backend Python. Momentálně mám 2 metody:

1. Dát to do AWS EC2 jako Flask
2. Dát to do AWS jako Serverless

Obě mají nevýhody:

Ad 1) Nejstandardnější řešení, ALE, musí člověk jednou za čas udělat SSH do kontejneru a vyřešit admin věci, plus platí paušálně penzíza každý měsíc
Ad 2) Jednou vyrobím, nasadím a pak už to běží furt (pokud tam není nějaký další poser) a platí se on-demand, jenže: Je to past vedle pasti, hotová katstrofa.

Takže jsem si vzpoměl na PHP, ve kterém jsem nikdy nedělal:

"Nebylo náááhodou to PHP celé o tom, že se na hosting server nahrál jednoduchý script, stálo to 30,- Kč měsíčně a bylo to hotovo, a já tu teď čaruju se Serverless?"

A tak si říkám, že by bylo fajn, kdyby něco takového existovlo pro Python. Prostě umístím někde svůj script a server hosting ho spustí pokaždé když je vyvolána url adresa. Plus umí to CRON pro nějaké background joby a má to přístup do nějaké DB. A bylo by fajn, kdyby se to nepřipo* z toho, že někdy použivám Pandas a Numpy.

Máte s tím někdo zkušenost?

41
Zadna kratkozraka rozhodnuti nedělám a naopak se vždy dívám, jak ta či ona věc bude fungovat v horizontu 15 let.

2-3 roky na projektu je mimochodem dneska docela dobrá doba. Stěžuj si na management, a ne na tvoje kolegy, zdá-li se ti to málo.

42
Mimochodem můžu garantovat, že dlouhodobě nikdo nenapíše 3 řádky kódu za 7k / MD a přitom je to junior, to je naprostý nesmysl, leda někdo vyhrál v loterii plus pracuje a bydlí ten chudák junior v Praze, plus ten chdák junior dělá na nějakém shitoidním projektu, jako třeba pro nějakou banku a ještě k tomu přes bodyshopping.

Na IČO práci jsou hodně velké tlaky na výkon a spousta malých firem, těch tzv. "startupů" co rostou jak houby po dešti, tak tam dostane dev tak 5k za manday a když chceš na pohovoru 6k, tak už ti naznačují "že to je hodne ambiciozní MD rate", aspoň v roce 2023 to tak ještě bylo. A musíš tam makat jako fretka. Takže výše uvedené co tazatel napsal je pohádka.

Rovněž je nesmysl tvrdit, že při vývoji inf. systémů vydá 1 osoba za 10 lidí. To je úplná kravina, kterou si ani já neříkám, a to jsem jako OSVČ hodně efektivní, ale i já mám pro firmu nevýhodu tu, že za max 2-3 roky mám dost a udělám Adios amigos abych si vzal sabatikl, nemluvě o důvěře - management nemůže jen tak někomu důvěřovat, že osoba nezdrhne ze dne na den pryč, a je to pro ně riziko.

Platit by to mohlo leda v nějaké totální žumpě, kde junior často skončí, v nějaké bodyshopping korporátu, co se snaží dodávat co nejvíc hlav to jen jde - ale i tam 10 lidí je poněkud přitažené za vlasy, když se vemou v potaz dovolené, nemoci, výpovědi, stabilita atd.

Já najdu ve firmě uplatnění největší tam, kde začíná nový projekt a potřebujou na to schopnou osobu, co to nezprasí a udělá to vysoce efektivně, načež jim nevadí, že za 2 roky co na tom makám a všechno tam pořádně udělám, tak si na to postupně najdou nějakého zaměstnance a projekt přejde do stavu maintenance. Firma dostane nejlepší poměr cena / kvalita, a potom si na to můžou dát nějaké standardní korporátní nemotivované "ležáky", co mají všeho dost, a ti to dostanou do správy.

Takhle já si představuju, že je hlavní gró mých služeb jako OSVČ.

43
Tohle co jsi napsal je přesně ten důvod, proč jsem před lety odešel pracovat jako OSVČ, abych od sebe ty lidi setřásl pryč.

Bohužel teda není to taky žádný med, proč?

1. Výše popsaní lidi ti na straně zákazníka někteří hážou klacky pod nohy, zejména z managementu
2. Musíš pracovat přes švarc firmy nebo rovnou pro švarc firmy, a ty se tě snaží v jednom kuse nějakým způsobem ojebat a udělat z tebe podřízeného, nebo podřízenějšího než je zaměstnanec. Nový trend u švarc firem je ten, že se ti dokonce pokoušejí diktovat dovolenou, už se ani nesnaží zastírat, že provozují švarc. Pozor, švarc provozují ty firmy, ne nutně ty.

V podstatě výše uvedený problém je můj celokariérní boj a snaha o vlastní uplatnění. A není to jen o vývojářích, učený z nebe nespad - vlastně je to hlavně o managerech a majitelích firem. Ryba vždycky smrdí od hlavy.

To takto dělá management, který se snaží odvádět co největší zisky majitelům nebo stakeholderům - to tihle manageri způsobí, že máš v týmu takové nekompetentní lidi. Totiž, problém není v těch lidech samotných, to je běžné, že někdo je lepší a někdo horší - problém je v tom, že managementu stačí na projektu dodávat na známku jako ve škole řekněme na 4ku nebo 3jku, takže když vidí, že projekt dodává na 2jku, tak je to pro ně signál, že můžou vzít pár neschopných lidí a dodat je na projekt - udělají díky tomu větší marži.

Tedy stav na projektu který popisuješ a který je dost běžný, je dá se říct úmyslný stav. Takže majitel nebo stakeholder, často multimiliardáři, si můžou nakoupit nejnovější model jachty nebo si postavit podzemní bunkr na Haiti i se služebnictvem, nebo si pro přítelkyni objednat Porsche a protože se mu nebude zdát délka, tak nechá celou továrnu makat aby mu porsche na délku prodloužili o pár cm. (To zrovna udělal Zuckenberg, jsou to jen příklady) Jiný multimiliardář může poslat na raketě do vesmíru auto za jásotu všech, nebo podnikat nesmyslné teraformace Marsu, ikdyž je známo, že i nukleární zimou postižená planeta země je pořád mnohem snáz navrátilná do funkčního stavu, než teraformace Marsu.

44
Studium a uplatnění / Re:Má smysl dělat manažera?
« kdy: 08. 11. 2024, 13:05:26 »
To muselo dat hodne prace, vymyslet si 7 naprostych absurdností a snazit se tím argumentovat :-D

Přijdou ti vtipné? To je 7+1 "naprostých absudrností", který si ty, ty jeden srabe, nechávaš běžně líbit, ba dokonce jako vedoucí je sám po podřízených vyžaduješ, když si je musel trpět taky, že? Tady, mám pro tebe jeden prstíček ,|,

45
Studium a uplatnění / Re:Má smysl dělat manažera?
« kdy: 08. 11. 2024, 12:54:33 »
Ještě musím přidat jeden bod:

7. Ne, nebudu brát každý měsíc jen půlku toho, kolik má prjekťák a lajn nebo někdo jiný.

Takže splňte ty výše uvedené body, a uvidíte kouzlo a velké tajemství o firmách a o tom, jak to funguje. Nebo zůstaňte srabi navždy. Podmínka ale je, že jste ve své práci dostatečně dobří a dobře ji odvádíte - jinak se zařaďte zpátky do řady. Když člověk dobrou práci odvádět nedokáže, tak si dovolovat nemůže.

Tak to vypadá, když se ksindl z VŠ Eko dostane do vedení:

https://www.idnes.cz/zpravy/domaci/rehabilitacni-centrum-hrabyne-vypoved-bossing-reditelka.A241025_102300_domaci_mul

Stran: 1 2 [3] 4 5 ... 35