Když jsem kdysi ještě na základce začal programovat propadl jsem kouzlu prostředí #TurboVision . Roky pak běžely a s nimi nové technologie kterým dával nejčastěji vzhled #TwitterBootstrap ale ten přes všechny jeho přednosti je jenom skin na webu. Takže když #AbraFlexi přineslo svoje nové webové rozhraní, často jsem si říkal jak by to vypadalo pokud by technologie šly jinou cestou, jak by asi vypadalo FlexiBeečko pod DOSem ? No soudím, že nějak takhle:
#zezivotavyvojare — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #zezivotavyvojare, aggregated by home.social.
-
#Pohoda XML/#mServer API bohužel nepokrývá všechny agendy a prostě chybí možnost správy majetku, kterou má GUI aplikace k dispozici. Proto automatizované importy lejeme přímo do #MSSQL databáze Pohody přes naši #OpenSource knihovnu https://github.com/Spoje-NET/PohodaSQL .
Při ladění duplicitních číselných řad u jednoho klienta jsme narazili na dvě reálné chyby v třídě CiselnaRada:
✅ Vyhledávání číselné řady bralo v úvahu jen rok a IDS, ne agendu – řady z různých agend (např. faktury vs. majetek) se tak mohly nechtěně „potkat" a sdílet stejný čítač.
✅ Zakládání nové číselné řady bylo tiše rozbité – kód se nikdy neotestoval v reálném provozu a při pokusu o vytvoření nové řady místo INSERTu prováděl neplatný UPDATE.
Obě chyby jsou opravené, agenda se teď u nově založených řad správně ukládá, a přidal jsem sadu regresních testů, aby se to už neopakovalo.
Díky tomu je import majetku do Pohody nyní možný bez, úmorného ručního klikání v GUI.
#Pohoda #ERP #OpenSource #PHP #Účetnictví #SpojeNet #ZeŽivotaVývojáře
-
@lactarius @medvidekpu však ono si to časem sedne - viz opakované nábory "kuli AI" vyhozených inženýrů ...
Jenom je potřeba užitečnost nástroje rozlišit od marketingových sloganů.
Už jsme zažili jednu až dvě vlny zdražování AI služeb od onoho počátečního "Když ptáčka lapají hezky mu zpívají"
Já byl k AI ze začátku skeptický ale jenom do doby než se ekosystém okolo rozvinul do použitelnosti.
Teď jsem v tom režimu že se sanžím za mojé stávající předplatné udělat maximum práce, než přijde další vlna zdražení, tentokrát již reflektující skutečné náklady na datacentra čímž se pro mě stane nejspíše buď předplatné nebo za něj poskytnuté tokeny nevýhodné.
Rozhodně si AI nikde nezadrátovávám do nějakého workflow, protože ač je mi sympatické co např Anthropic nabízí za možnosti všechno to stojí na hodně hliněných nohách na které se nedá jen tak zapomenout neboť se samy připomínají každých pár hodin práce. A to je dobře.
-
@medvidekpu Vidím to stejně. Za těch pár stovek měsíčně dokončím stokrát více práce než bylo u mě dříve zvykem.
Že bych se však tímto stal konkurenceschopným, nebo nedejMorena snad profitujícím, to se fakt nebojím.
AI Agenty používají všichni a tím se laťka posunula zase do nedosažných výšin pro nás běžné smrtelníky.
-
@martin no to protože @xChaos zase něco frfňal o tom jak nás Trumpeta s tím omezováním a vypínáním modelů drží pod krkem.
Ale tady je vidět jak o tom ví uplný kulový.
Protože pod krkem nás nedrží Trump ale limity, denní, týdenní, měsíční ... a pokaždé když mi jeden z těhle skončí tak jsem ve stejném situaci. (a hledám řešení)Fakt by mě zajímalo jak dlouho bude trvat, než moje práce vydělá tolik peněz aby se vyplatilo je vyhodit za vyšší tarif ...
Samozřejmě cíl je aby to vydělávalo peníze mě a pražské energetice a ne nějakýmu Antropicu, Googlu nebo ClosedAI
-
RE: https://f.cz/@vitexsoftware/116611647192313122
Technický dluh je zlo a po nějaké době začne vždycky vystrkovat růžky. Sice jsem mohl stávající způsob práce se závislostmi hrnout před sebou ale vzhledem k tomu že chci poskytovat software s nějakou zárukou funkčnosti instalace i provozu, tak mi nezbylo než do toho říznout a přepracovat prakticky všechno protože stávající systém byl zažraný až do morku kostí základních knihoven na kterých je mé softwarové impérium postaveno.
Základní myšlenka původního řešení byla taková že do balíčků zabalím jenom to co jsem naprogamoval a knihovny třetích stran nainstaluje z netu #php #Composer. S přibývajícím časem a množstvím balíčků se začaly ukazovat nevýhody tohoto řešení. Sice jsem si ušetřil něco práce ale na mnoho dalších problémů v budoucnu si zadělal.
Letos však jsem již nedokázal ignorovat bimbání Damoklova meče nízko nad mojí hlavou a položil si otázku: "Jak to dělají ostatní balíčky ?" Zjistil jsem si to a začal to dělat stejně. Zásadní rozdíl je v tom že autoloader tj. kus kódu který určuje ze kterého souboru ve které složky se načítají php třídy použité v kódu se vytvoří již hotový pracuje pouze se soubory z deb balíčků. Tím odpadla nutnost mít při instalaci přístup do internetu a riziko, že se místo osvědčené verze závislosti nanistaluje novější, kde může být něco jinak.
-
Pracuji na nové generaci nástrojů pro monitoring a analytiku ekonomických systémů. Pro začátek pracuji s #AbraFlexi a #StormwarePohoda ale v budoucnu se může počet podporovaných datových zdrojů zvýšit.
Srdcem ekosystému je sada tříd která provádí analýzů vstupních dat.
Typickým představitelem je "Částka po splatnosti"
Výsledné metriky jsou pak zpracovány do reportů nebo zaslány do monitoringu #Zabbix, který může provádět následné akce.
-
Ačkoliv stále nejvíce programuji v PHP, nevyhýbám se ani hroznýšovi:
Pochválí mě @xChaos ?
-
Pozor: dnes NENÍ svátek práce!
nýbrž SVÁTEK PRACUJÍCÍCH.A jak nejlépe oslavit svátek pracujících, než prací ?!
Nicméně pro vysvětlení častého omylu dlužno podotknout, že práce žádný, svátek nepotřebuje, kdežto pracující si jej rádi užijí.
-
Tak si to strčte za klobouk. Se vám na to můžu z vysoka vykvajznout.
-
RE: https://f.cz/@vitexsoftware/116141934378107246
Samozřejmě by nebyl problém se vrátit k nějakému normálnímu skinu, ale to by byla nuda, že ?
-
Před dvěma týdny jsem si zadal "žádost o zapakování" mého prvního vážnějšího počinu pro Android (a kompatibilní systémy) mobilního #Zabbix klienta #Zabb
Zatím od týmů #FDroid nepřišla žádná reakce. Ona je taky otázka kolik lidí na to přijímání nových projektů mají. Jelikož se jedná o nadšeneckou komunitní záležitost, tak nevadí počkáme.
Pro zvědavé a odvážné jsou k dispozici APK balíčky na githubu, ale možnost nainstalovat appku ze skutečného storu, by jí jistě přidala jak na vážnosti tak i na rozšíření.
A pokud se ptáte zdali chci appku vydat i na Google play, vězte že ano, ale nemá to žádnou prioritu. Minimálně do doby než vyjde ještě několik "zrajících" verzí, abych si na google play, kde je samozřejmost očekávat vyladěné a plně funkční aplikace ostudu.
-
RE: https://f.cz/@vitexsoftware/115743568530387138
Tenhle release vznikl z mobilu na vánočním večírku #SpojeNet
Doufam že se mi povedlo získat nové dva betatestéry.
Třetí Betatestér byl tak rozjařený že si dupnul že žádný APK si do telefonu instalovat nebude a ať z toho udělám WebApp. (vzniklo z toho issue #6) Pokud to někomu přijde jako dobrý nápad, nechť se vozve.
-
RE: https://f.cz/@vitexsoftware/115667946642244987
že se nevystavují faktury je lepší se dozvědět z monitoringu než od naštvaného klienta ...
-
RE: https://f.cz/@vitexsoftware/115646645330108876
Co si neuděláš to nemáš. Už nějakou dobu jsem scháněl mobilního klienta pro #Zabbix který by mi nedal zapomenout když něco slítne, abych se to pak nedozvěděl od naštvaného zákazníka.
Vznikl tedy tento skromný prográmek, který v zásadě již splňuje mé požadavky a nejspíš už se kromě drobných oprav moc měnit nebude.
-
RE: https://f.cz/@vitexsoftware/115549925039567275
Tohle issue https://github.com/VitexSoftware/php-vitexsoftware-rbczpremiumapi/issues/5 tam čekalo 111 dní od chvíle kdy mě napadlo že by něco takového bylo dobré implementovat až do včerejška kdy se jeden skript na produkci zbláznil a vyčerpal quoty přístupů. To se už s novou verzí knihovny nestane.
-
To je ale debil !!!
V Outlooku kliknu na copilot a napíšu:
"najdi mi maily kde se řeší konfigurace flexibee.freetel.cz" a ta předražená kupa šrotu mi napíše:
"Abych ti pomohl najít e-maily týkající se konfigurace flexibee.freetel.cz, potřebuji vědět, kde tyto e-maily hledáš:
Používáš Outlook, Gmail nebo jiného e-mailového klienta?
Máš přístup k e-mailové schránce, kterou mohu analyzovat (např. exportovaný soubor .pst, .mbox nebo .eml)?
Chceš hledat podle klíčových slov, odesílatele, příjemce, nebo časového období?Pokud mi poskytneš přístup k souboru nebo upřesníš, kde hledat, mohu ti pomoci s filtrováním a analýzou. Chceš třeba nahrát export e-mailů?"
Naběhla mi žilka a chvíli přemýšlel o tom jak jej slovně inzultovat tak aby to na hodnotě svých akcií pocítil i Satya Nadella, nakonec jsem se ale uklidnil a ťal do živého:
"Seš copilot spuštěný v outlooku, víš o tom vůbec ?"
Velkou schopností Konverzačních ai asistentů je že jsou naprosto splachovací a tak suše odvětil jen
"Ano, máš pravdu — pokud mě používáš jako Copilot v Outlooku, mám přístup k e-mailovému prostředí a mohu ti pomoci s vyhledáváním e-mailů podle klíčových slov, odesílatele, příloh, časového období a dalších parametrů."
a nabídl mi vyhledat maily. Tak jsem to osouhlasi a plechová huba potvrdila:
"Skvělé, hledám tedy e-maily ve tvém Outlooku, které obsahují klíčové slovo flexibee.freetel.cz.
🔍 Probíhá vyhledávání...Jakmile bude výsledek připraven, zobrazím ti seznam relevantních e-mailů. Pokud chceš mezitím upřesnit, zda tě zajímá konkrétní složka (např. Doručená pošta, Odeslané, Archiv), nebo jestli chceš výsledky seřadit podle data či důležitosti, dej mi vědět.
"No #Microsoft zase nezklamal, to nemohu říct ...
p.s. doteď mi nic nezobrazil ...
-
Jelikož, nýbrž a protože se mi bankovní výpisy z Česká spořitelna nepodařilo vymámit ve strojově čitelném formátu jiném než #ABO nezbylo mi než přivést na svět další knihovnu která mi zůstane na krku.
A jelikož dneska už všechno programuje #AI, rozhodl jsem se jí dát taky šanci bo sem chaot a ta robotí cházka to bude mít pokupě jistě dříve než já ...
Ponejprv bylo potřeba připravit kontext a to tak že jsem udělal naprosto minimální základ #PHP knihovny s jednou třídou s metodami parse() a parseFile() vracejícími pole s hodnotami v utf8.
Jako první nastoupil warp.dev terminál který v sobě nese LLD Claude.
Ten mi vyrobil konverzní třídu a ukázkové soubory. Zádrhel nastal až ve chvíli když jsem po něm chtěl doplnit i unit testy. To mu trvalo 4x déle, než samotný testovaný základ. Hlavně proto že jsem po něm ještě chtěl rozlišovat abo-standard a abo-extended
Nakonec tedy testy vyrobil a dojížděly bez chyby až do té chvíle než jsem si všiml že krapet chlapec nezkous win1250 a tak jsem zkusil Copilot.
Ten se moc nevyznamenal protože navrhnul použít mbstring rozšíření které tak exotické kódování neznal a navrhoval použít ISO-8859-2.
Po nějakém to laborovaní jsem se obrátil na ChatGPT5 ten pochopil moje strasti a navrhnul použít ICONV a doknce pochopil i algorytmus a konverzi navrhnul na správném místě v kódu.
Finální dohoblování unit testů jsem již znovu nechal na copilotu a to již naštěstí nezvoral, takže knihovna má funkční testy pokrývající 95.09% kódu.
Zejtra se pustím do toho aby knihovna našla svoje první použití při importu výpisů ze Spořky do Pohody.
-
https://github.com/VitexSoftware/csas-statement-tools
Mám já to ale trápení pořád s Česká spořitelna, respektivě jejich #api.
Hlava mi nebere proč je takový problém zařídit aby dokumentace byla v souladu s realitou ?
Konkrétně me trápí složitost získání strojově čitelných výpisů. Dle dokumentace https://jsapi.apiary.io/apis/eahaccountsapiv3prod/reference/cards/list-of-cards/get-statements-list.html by to něměl být problém:
George: PDF, ABO, CSV
Business 24: PDF, XML, MT940, ABO
George Business: PDF, XML, MT940, ABO, CSV
V praxi se mi však dařilo tahat pouze PDF a když jsem psal na support, tak mi po pár dnech přišla odpověď:
----
Dear client,only PDF format is available in sandbox.
Best regards
Rebeka
----Nakonec se nám povedlo najít nějaké zapadlé nastavení, a díky němu získat alespoň 'abo-standart' formát výpisu ale ostatní avizované formáty vrací stále zarputile 404. No to se holt asi nedá nic dělat. Přijde mi že popasovat se s ABO mi dá méně práce než se handrkovat s Rebekou, která chudinka vypadá že má taky daleko ke zdroji.
(Aktuální stav prací: Stahovač výpisů funguje a json reportér zůstatku taktéž)
-
Tak jsem zase překopal jak se vyrábí můj debianí repozitář. Minulý týden byla přepracována produkční pipeline a dneska přišla řada zase na tu vývojovou. První neduh který bylo potřeba vyřešit, byl bashový skript který rozhoval do jakého repozitáře a jaké komponenty se balíček přidá.
Kuli složitému dohledávání hotových artefaktů jsem nakonec zvolil Groovy a "Global Trusted Pipeline Libraries" díky tomu nyní stačí do Jenkinsfile připsat publishDebToAptly() pak následuje kaskáda která končí Ansible Pipeline která repozitář s přidanými balíčky zase vygeneruje aby se z něj dalo instalovat.
Hlavní novinkou však je podpora DEP-8 a je ostuda že jsem se k tomu dostal až teď.
Zkrátka některé balíčky je dobré nejen nainstalovat ale i spustit to co je v nich. Kolikrát stačí aby jenom vypsali svůj --help aby bylo jasné že to zabalené něco bude nějak fungovat.
Postupně budu do problematiky pronikat a testy doplňovat do balíčku jak mi přijdou pod ruku a jak bude potřeba.
Zatím alespoň oficiální dokumentace https://ci.debian.net/doc/file.TUTORIAL.html
O svých dalších dobrodružstvích vás zde budu i nadále informovat.
#Debian #Package #Testing #DEP8 #Jenkins #CI #ZeŽivotaVývojáře
-
@xChaos Je v tom pět let práce
curl -s https://api.github.com/repos/VitexSoftware/MultiFlexi | jq .created_at
"2020-04-09T23:25:57Z"a pěkně to nakynulo. Už jsem to musel roztrhat jinak by se to nedalo udržovat.
Opravdu není důvod spouštět unit testy všech tříd pokaždé když na frontendu přejmenuju tlačítko.
Stejně tak není třeba skrze selénium "proklikávat" celý web když něco upravím ve spouštěči úloh.
Zkrácení doby buildu jest mi odměnou.
-
Architektura #MultiFlexi aneb roztrhanl jsem bumbrlíčka
Ekosystém MultiFlexi se skládá z několika vzájemně propojených projektů, z nichž každý plní specifickou roli v celkové architektuře. Níže je uveden přehled hlavních členských projektů a jejich vztahů:
Základní komponentyZákladní knihovna PHP poskytující hlavní obchodní logiku, datové modely a sdílené nástroje pro platformu MultiFlexi. Všechny ostatní komponenty závisí na tomto balíčku pro základní funkcionalitu.
Obsahuje definice schémat databáze a migrační skripty pro MultiFlexi. Používá se serverem a dalšími komponentami k inicializaci a aktualizaci struktury databáze.
Rozhraní příkazového řádku pro správu zdrojů MultiFlexi (aplikace, společnosti, uživatelé, úlohy atd.). Spoléhá na základní knihovnu a interaguje s databází.
Hlavní backendový server poskytující REST API a webové uživatelské rozhraní pro MultiFlexi. Orchestruje plánování úloh, správu uživatelů a integruje se s hlavní knihovnou a databází.
Vyhrazená služba nebo agent zodpovědný za provádění úloh a úkolů podle plánu serveru. Komunikuje se serverem a může běžet v izolovaných prostředích.
Kolekce Ansible poskytující playbooky a role pro nasazení a správu komponent MultiFlexi v různých prostředích.
Meta-repozitář, který agreguje všechny výše uvedené projekty a poskytuje jednotný zdroj pro vývoj, nasazení a integraci.
Vztahy mezi projekty
Klíčová knihovna je závislostí pro CLI, server a exekutor.
Databázový projekt poskytuje schéma a migrace pro všechny komponenty, které vyžadují trvalé úložiště.
CLI a server interagují s databází i s knihovnou jádra, ale obsluhují různá uživatelská rozhraní (příkazový řádek vs. web/API).
Exekutor je spravován serverem a je zodpovědný za bezpečné a izolované spouštění úloh.
Kolekce ansible se používá k automatizaci nasazení a konfigurace všech komponent.
-
Dotaz na licenční a právní aspekty veřejného zpřístupnění mServer API
Dobrý den,
obracím se na Vás s dotazem ohledně možného právního nebo licenčního omezení při využití mServeru v následujícím scénáři:
Na adrese https://novak.proxy.spojenet.cz/ zpřístupňujeme instanci mServeru, která je napojena na testovací firmu „Novák s.r.o.“ v účetním systému #POHODA SQL. Tento endpoint je veřejně přístupný avšak slouží výhradně k tomu, aby vůči němu mohly být spouštěny unit testy #OpenSource knihovny PHP-Pohoda-Connector a produktů na ní postavených.Cílem je umožnit vývojářům a přispěvatelům této knihovny snadné testování a ověřování funkcionality bez nutnosti rozbíhání a konfigurace vlastního nasazení Stormware mServeru.
Rádi bychom se ujistili, že takovéto využití mServeru neporušuje žádné licenční podmínky ani jiná právní ustanovení společnosti #STORMWARE nebo Microsoft.
Předem děkuji za Vaši odpověď a případné doporučení, jak takovéto použití správně licenčně ošetřit.S pozdravem,
Vítězslav Dvořák,
-
Pro mě je nejlepší způsob jak se dostat do hyperfokusu, když mi někdo sedí za prdelí, sleduje a čeká až dodám výsledky ... Tento pracovní režim se však těžko prodává, ježto se nevejde do škatulky "samostatnost" ...
Mindráky si ale léčím tak, že chodím ke kámošovi, co je ještě větší případ než já, stojím mu za prdelí, říkám mu co má dělat a říkám mu co nemá (balit jedno za druhym) no a on je za to moc rád, protože teprve potom se mu záměr a smeřování potkají a práce někam spěje ...
-
Už nějakou dobu se tu rozepisuji o svém zápolení s #API Česká spořitelny / Erste Group
Nejasnosti se nakonec vyjasnily a knihovna začala dělat co se po ní chce.
Toto je první příklad volání, kdy se nám vrací objekt nesoucí v sobě přehled bankovních účtů. Tedy dobrý výchozí bod pro nějaké další programování. (ale o tom až zase příště)
https://github.com/Spoje-NET/php-csas-accountsapi/blob/main/Examples/accounts.php
-
Už to bude nějaký čas co jsem si zoufal že se neumím přihlásit do API Česká spořitelna . Podle pravidla "Leze, leze po železe nedá pokoj až tam vleze se mi povedlo pochopit jak to maj vlastně vymyšleno a vytvořit software který by připojení umožnil. Nyní je k dispozici nejen #PHP knihovna ale i aplikace csas-authorize, která má na starost získávanání přístupových tokenů.
Nyní jsem ve fázi vývoje kdy do běhového prostředí #MultiFlexi přidávám právě podporu pro csas-authorize. Díky tomu bude možné aby úlohy pracující s API spořky před spuštěním obdržely přístupový token.
Souběžně s tímto již běží vývoj aplikace https://github.com/Spoje-NET/pohoda-kb která má za úkol importovat bankovní výpisy do STORMWARE s.r.o. #Pohoda z Komerční banka
Práce komerčky s přístupovými tokeny je podobná tomu jak to má Erste a tudíž nejspíše zase vznikne aplikace která se o získávání a co půlroční prodlužování přístupových tokenu bude starat.
-
Už mě nebavilo pořád sedět u počítače. Tak jsem si připravil ještě jedno pracovní místo a přebíhám mezi nimi.
Zhubnu ?
-
Zhruba před měsícem jsem se tu trápil nad přístupovými tokeny k #API Spořky. No nakonec metodou pokusu a omylu prokládaných v okamžicích nejvyššího zoufalství obětovnou četbou dokumentace se mi za pomoci několika internetových dobrodinců povedlo dobrat k funkčnímu prototypu. Ten je taktéž k dispozici všem odvážlivcům k prozkoumání:
https://github.com/Spoje-NET/csas-authorize
Udělátko pracuje se dvěmi sql tabulkami: application & token:
Do Aplikce překopírujete prakticky všechno z vašeho vývojářského účtu https://developers.erstegroup.com #ErsteGroup a s tímto nastavením je již možné si vyžádat přístupový doken a nechat jej potvrdit. Jakmile je autorizace (v produkci pomocí čipové karty paní účetní) potvrzena, je možné na jejím základě 180 dní vystavovat pět minut trvající přístupové tokeny.
Že to pak funguje a co to vlastně vrací je možné v odkazovaném prográmku také vyzkoušet.
No a když už se mnou #api začalo bavit, získal jsem odpovědi serveru pro přehled účtů, zůstatek, vypisy a transakce. (s platebními kartami nikde nepracujem, takže pokud by k nim příslušné endpointy někomu v knihovně chyběly, nechť pošle pull request)
Nyní už zbývají dvě drobosti: Tou první je napsat aplikaci, která stahne bankovní pohyby a výpisy a naimportuje je do Pohody a druhou "drobností" bude vytvoření mechanizmu který tomuto prográmku dodával čerstvé přístupové klíče. Zatím to vypadá že z toho vznikne nový specializovaný doplňek pro #MultiFlexi
#ZeŽivotaVývojáře #PHP #ČeskáSpořitelna #Automatizace #OpenSource #FinTech
-
Inu, mám #zásek a nějako nevím kam se obrátit, bo mám pocit že už mi nepomůže ni svěcená voda. Stále si však hýčkám semínko naděje, že by se tu mohl najít někdo kdo už tím martýriem úspěšně prošel a tak bude vědět co dělám špatne nebo kde je tedy chyba.
Zkrátka vyvíjím synchronizaci bankovních pohybů ze spořky do stormware Pohoda a mám nehezký nepěkná věc v tom počátečním pingpongu kdy si žádám o token pro přístup do banky.
Dle mého jsem to napsal dobře, ježto token obdržím. Zákazník by si však mohl myslet že jsem to nenapsal dobře, (protože ten token mě do banky nepustí) a to bych velmi nerad.
Máte tady prosím někdo zkušenost APÍčkem Česká spořitelna ?
pokud by mi chtěl někdo však pomoci pouze z čisté lásky k penězům, nebude problém proplatit nějakou tu člověkohodinu, nasměruje-li mne k cíli.
Zdrojáky jsou na githubu https://github.com/Spoje-NET/php-csas-webapi ( a já jsem zoufalý. Už to mělo být loni spuštěné)
#ZeŽivotaVývojáře #OpenSource #FinTech #Zoufalství #BídaAZmar
-
Stal jsem se dnes držitelem prestižního ocenění "Produkuji Open source."
Jem cele dojat a beru to i jako závazek do budoucna, ve vývoji otevřeného software pokračovat.