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.


Témata - registrovany123

Stran: [1] 2 3 ... 7
1
Uvažuju jestli nějak nedá ušetřit na datech, T-Mobile mi každý měsíc posílá fakturu na ~1100,- Kč za Internet a paušál na mobilní data a gsm.

Skoro vůbec nevolám ani nepíše smsky, a na telefonu maximálně tak 2h měsíčně poslouchám iTunes, a prodatuju asi tak 75GB měsíčně.

Tak si říkám, jestli se to nedá nějak zkrouhnout dolů tyhle poplatky, ale podle mě moc ne. Kolik platíte za tyhle položky vy?

2
Software / Služba Incogni - Jak to funguje a vyplatí se to?
« kdy: 08. 02. 2025, 08:52:51 »
Máte někdo zkušenosti se službou Incogni.com? Měla by to být měsíčně placená služba, která vytrackuje kde se o vás schovávají osobní informace, jako tel. číslo, a pak za vás všude naposílá dopisy tak, jak to říká zákon, aby ta data o vás smazali. Což byste mohli udělat i vy sami, ale stálo by to hodně práce.

3
Vývoj / Framework Bottle pro Python
« kdy: 04. 01. 2025, 22:24:47 »
Mátě někdo zkušenosti s Bottle frameworkem? Používám Flask, ale mám k němu nějaké výhrady, jako např. pochybnosti o nutnosti mít všechno přes plugin, zejména SQL Alchemy.

U SQL Aclhemy si pamatuju, že plugin zrovna nefungoval, protože měl nějaké issue, takže jsem si tam dal to SQL Alchemy stejně ručně.

Dále se mi nelíbí nějaké věci, co jsou udělané Flask-way, jako třeba že když z restu vrátím Dictionary, tak nevím kterou chytrou hlavu napadlo, že Flask implicitně převádí datetime na nějaký pofiderní imperiální textový formát namísto ISO. A nebere mi můj custom JSON encoder, nevím proč, už se mi to nechce řešit.

Potom se mi nelíbí, že pro errory implicitně vrací HTML stránku a nikoliv json, určitě to jde změnit, ale prostě štve mě to že se to tak implicitně chová, navíc je to archaická věc.

A další drobnosti, jako třeba že mi stejně nefunguje life reload a musel jsem ho vypnout, protože nějaký chytrák udělal plugin pro scheduler jobů, kterému se pak v průběhu life reload joby načtou 2x a tak se i spouští 2x. Atd.

Prostě Flask obsahuje implicitní chytristiky, které si říkám, že bych raději neměl a pluginy, které mi do této chvíle asi způsobily víc problému než užitku, protože nejsou napsané pořádně. Dále pokud vím tak flask obsahuje v sobě nějaký serverside rendering framework, což mi přijde opět poněkud úsměvné - v Pythonu je takový blbý zvyk dělat do-it-all knihovny a je v tom v podstatě horší než Java.

4
Procházím si státní zakázky na portálu nen.nipez.cz, a mám z toho dost rozporuplné dojmy:

- Člověk musí hledat s lupou v přiložených word dokumentech se smlouvami a podmínkami, co vlastně po něm chcou vyrobit, nevidí to hned po rozkliknutí zakázky
- Specifikace funkčních požadavků bývá někdy dost vágní
- Pak tam člověk musí s lupou zjistit v přiložených word dokumentech, jaké jsou zadávací podmínky, aby se následně v jednom odstavečku mezi hromadami textu dočetl, že po něm chtějí prokázat, jak v posledních 3 letech měl zakázku podobného typu za minimálně 8mil. Kč (to si nemůže OSVČ dovolit), jindy zase aby prokázal obrat skoro 1 miliardu za poslední 3 roky, atp.

Pointa toho, co mi vadí na obratech je: Já teď mám smlouvu o dílo na systém, který už do této chvíle stál tak 3 mil. a dělám na něm 2 roky. Nevím, proč bych neměl být schopen udělat podobně složitý systém pro státní správu, třeba v jedné zakázce pro české knihovny (která se vysoutěžila za 900 000,- Kč), ale jak to mám asi tak udělat, když mě jako OSVČ odfiltrují těmi požadavky za obrat?

Pak tam najdu zajímavý projekt, inf. systém malého rozsahu pro ČIŽP, který limit za obrat stanoven nemá:

https://nen.nipez.cz/verejne-zakazky/p:vz:druhVZ=Sluzby%2CDodavky%2CKoncese_na_sluzby&stavZP=planovana%2Cneukoncena&sort-podaniLhuta=desc&sort-stavZP=desc&datumPosledniUver=2024-11-01%2C&query=software/detail-zakazky/N006-24-V00038949

Načež opět se dočtu ve smluvních podmínkách, že jakýsi JUDr. Ing. Petr Bejček si tam naporoučí, že nabídka nesmí být vyšší než 400000,- Kč, načež v ceně je zahrnuta podpora po dobu 2 let a hromada pokut, jako např. 5000,- Kč za každou jednu vadu kterou software bude mít, atp. A požadavků mají teda dost a to vč. toho, že chtějí mít videonávody k používání softwaru (Ok, to není zase takový problém) ale pak tam mají, že chtějí i vysvětlující videa pro uživatele k chemické legislativě - takže já jáko vývojář si k ceně musím připočíst asi několik desítek tisíc za konzultace s právníkem kvůli chemické legislativě, abych následně z toho vyrobil školící videa, aby mě následně nějaký Judr. Bejček nepopotahoval za ona videa a neudělovat mi 5000,- Kč pokuty jak na běžícím pásu.

A to jsem nepřečetl všechno, abych zjistil, jestli vůbec akceptují continuous delivery, tzn. že jim něco dám, oni si to vyzkouší, dají mi připomínky že něco nejde jak si představují, a nebude to milostiv ambiciozní Judr. považovat za vadu s pokutou 5000,- Kč za jeden výskyt takové vady.

5
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)


6
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?

7
Studium a uplatnění / Byli jste někdy na podpoře?
« kdy: 29. 10. 2024, 13:42:29 »
Dotaz, jak to v zaměstnaneckém poměru chodí u vývojářů na podpoře, má zaměstnanec, který dal třeba po 3 letech výpověď, vůbec šanci si na pracáku aspoň měsíc odpočinout? Nebo je tenhle luxus a pohodlíčko vyhrazeno jen pro různé instalatéry, řidiče kamionu a další, ale vývojáře na pracáku nenechají ani měsíc?

8
Když vyvíjím frontend ve Vue nebo v Reactu, tak chybové hlášky, které lze najít v konzoli prohlížeče při procházení frontendové aplikace, jsou často napsané tak, že nejde v kódu najít místo, kde chyba vznikla.

Důvod, proč to nejde v kódu nalézt, je ten, že kód je do prohlížeče poslán zkompilovaný, tzn. potom typická chybová hláška vypadá třeba takto:

Kód: [Vybrat]
index.js:6
Warning: `value` prop on `input` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.
    at input
    at td
    at tr
    at tbody
    at table
    at details
    at main
    at Component (http://localhost:60000/static/js/main.chunk.js:15616:88)
    at Route (http://localhost:60000/static/js/vendors~main.chunk.js:43137:29)
    at Switch (http://localhost:60000/static/js/vendors~main.chunk.js:43306:29)
    at Router (http://localhost:60000/static/js/vendors~main.chunk.js:42809:30)
    at HashRouter (http://localhost:60000/static/js/vendors~main.chunk.js:42360:35)
    at App (http://localhost:60000/static/js/main.chunk.js:82:97)

Načež jak asi tušíte, soubor "index.js:6" kam přesměruje browser když na hlášku vývojář klikne, odkazuje na onen zkompilovaný JS soubor a vývojář se nedozví nic.

Takže moje otázka je - dá se s tím vůbec něco dělat, abych se jako vývojář dozvěděl přesněji, kde je v kódu chyba? Co třeba nějak zapnout vývojářský režim a přimět NPM, aby ty soubory pro localhost nekompiloval?

9
Mám starší iPhone kde používám Microsoft Authenticator pro přihlášení se do různých věcí k mým zákazníkům. Když bych přešel na nový iPhone, tak jsem si právě vyzkoušel, že sice zmíněný MS Auth umí udělat zálohu, ale neumí obnovit všechny tokenizery - u některých to chce, abych opět prošel procesem vytvoření tokenizeru, což řešit tenhle proces v korporátu u zákazníka je dost opruz.

Takže otázka zní, jestli neexistuje nějaký authentikátor, který umí udělat plnou zálohu. Přecejenom je to prostě software, má to nějaké svoje vnitřní id nebo něco, a nevím co brání tomu, abych si to v novém telefonu plně obnovil do původního stavu.

10
Celé to tady vypadá, jak kdyby Root.cz přemigroval do Cloudu a nějaký diletant z managementu zamítnul zaplatit dostatečně dimenzovanou databázi.

11
Hardware / Skleněná deska pro 3D tiskárnu Creality Ender 3
« kdy: 27. 06. 2024, 10:56:06 »
Zdravím,

mám tiskárnu Ender 3 a potřebuju koupit novou skleněnou desku na tisk. Ta originalní deska byla ze skla a měla k sobě kovové packy, kterýma se dala přidělat k základní kovové platformě.

Tady vidím že se prodává deska:

https://www.alza.cz/creality-pei-printing-platform-kit-d8602460.htm?evt=ac

Ale nemůžu najít náhradní pracky. Píšou nicméně u ní, že je magnetická - nepřichytí se mi díky tomu k té topné desce sama bez těch pacek?

Díky

12
/dev/null / Náhrada za Uloz.to?
« kdy: 06. 06. 2024, 19:19:46 »
Chtěl jsem se podívat na Youtube na Červeného trpaslíka, viz:

https://www.youtube.com/watch?v=rnJH50KFIiU&ab_channel=Petr%C5%A0t%C4%9Bp%C3%A1n

A zasekl jsem se na tom, že tam nejsou celée díly - ještě před nějakou dobou tam celé díly byly. No a na Uloz.to už to k mání není. A co se týče Torrentů, tak tam prokazatelně sondujou policajti.

Co se teď s tím dá dělat?

13
Server / Výkonnostní spiky v trvání queries v Postgres
« kdy: 27. 05. 2024, 22:24:50 »
Ahoj,

vím že tady občas zavítají experti na Postgres, tak třeba budu mít štěstí a pomůžou.

Mám v databázi ve 2 tabulkách asi 6 - 10 mil. záznamů, a service zpracovává přibližně 1 request za vteřinu, načež v rámci toho jednoho requestu se udělá asi tak 8 jednoduchých selectů a 2 inserty.

Žádné další requesty do service ani do databáze nechodí. Tedy databáze zpracovává jen výše uvedené requesty.

99% requestů je hotových do 50ms, ale 1% requestů má spike, v délce trvání 150ms - 400ms.

Měřením jsem zjistil, že k těmto spikům dochází jak v AWS RDS se 4GB RAM a 2 vcpu, tak i na mém localhostu, kde mám Postgres rozjeto v Dockeru, opět se 4GB RAM a 2 vcpu.

Dále jsem měřením zjistil, že spike se může objevit na libovolném query, a to jak na selectu, tak na insertu, tedy z toho usuzuji, že v queries problém není, ostatně, průměrná délka requestu je jen nějakých 30ms, což optimální queries potvrzuje.

Všechny query mají řádně udělané potřebné indexy a query plany jsou zkontrolovány a jsou optimální.

Měl jsem podezření, že za spiky můžou checkpointy, avšak nakolik se spike vyskytne pravidelné každých 2-10 minut, checkpoint mám za to že je přecejen pravidelnější, každých 5 minut, a takovoutu železnou pravidelnost se nezdá, že by spiky měly.

V databázovém logu vidím vypsané queries a checkpointy, nikdy zde však nic podezřelého nepozoruji, všechno se zdá být standardní a opakující se s každým requestem, nikde žádný hint.

Nesetkal se s tím někdo už?


14
Vývoj / Jednoduchá NoSQL databáze pro Python
« kdy: 21. 05. 2024, 14:40:59 »
Potřebuju často v Pythonu ukládat někam data, třeba v rámci data mining atp. V Pythonu jsem používal SQLite, SQAlchemy, zkoušel jsem TinyDB a obyčejné soubory.

Potřebuju tedy ukládat data ideálně jako dictionaries, třeba http response stažené z nějakého API.


- SQLite - je roztomilá databáze, ale bez použití SQAlchemy mi přijde práce s tím docela opruz

- SQLAlchemy - tohle je docela dobrý, ale pořád vidím jako nevýhodu to, že se musím párat s vytvářením entitních tříd, já potřebuju prostě jen uložit dictionaries, nechce se mi štráchat s vytvářením sloupce pro každý field v jsonu

- TinyDB - Vychvalovaná db, dají se v tom dělat queries nad těmi uloženými dictionaries, ale za mě to je nepoužitelné, je to strašlivě ale strašlivě pomalé, neumím si představit co bych v tom ukládal že by mi ta pomalost nevadila

Takže co používám já je Pickle a soubory v kombinaci s LockFile knihovnou (schválně neřeknu k čemu potřebujete lockfile).
Tohle se mi nejvíc osvědčilo, je to doclea rychlé a jednoduché. Nevýhoda je, že se všechno musí načíst nejprve do paměti.

No takže co by se mi líbilo, je něco jako je TinyDB, tzn. uložím si prostě dictionary, a můžu potom dělat i queries. Jenže jak říkám, TinyDB je pro ty queries nepoužitelně pomalá, to už si raději načtu všechno do memory a projedu si to ve foreach abych našel co potřebuju.

Na mojem os. počítači dobrý, ale někde v cloudu kde memory je max třeba 2GB už to má slabá místa.

Nemáte nějaký tip? A ať to nemusí ideálně běžet v Dockeru, prostě keep it simple. Něco jako je SQLite, v Céčku psané, ale aby to bylo jako Document DB, tzn. key value pairs, jako value dictionary a umožňovalo to dělat queries.

15
Vývoj / Dolování v datech sreality.cz
« kdy: 04. 05. 2024, 16:43:19 »
Zdravím,

dotaz, nevíte / nezkoušeli jste, zda-li sreality umožňují přístup do svých data?

Mám takový tip na projekt, takže promýšlím proveditelnost. Jednalo by se o mapu vyloučených lokalit v ČR. Nejprve jsem přemýšlel nad tím, že bych udělal mapu ČR, a tam bych umožnil uživatelům umisťovat recenze na místa či nemovitosti. Ti by označili místo bodkou a dali tam recenzi lokality.

Jenže problém je, že tohle by narazilo na zákony a mělo to velkou údržbu, protože by uživatelé dávali třeba falešné recenze, aby někoho naštvali, atp.

Tak jsem přemýšlel, jak to obejít, a našel jsem způsob. Bohatě by stačilo mít možnost dostat se do dat sreality a tahat si ceny pronájmů v daných lokalitách a klidně i domech.

Následně na základě historických cen by šel udělat graf s mapou ČR, kde by uživatelé viděli, které lokality se pronajímají za vyšší ceny, které za průměr, které za nižší a které za extrémně nízké ceny - což by automaticky dokázalo zaznamenat ghetta.

Takhle by mohla vzniknout mapa kvality lokalit, a nebylo by to protizákonné.

Stran: [1] 2 3 ... 7