Byla vydána verze 1.99.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.
Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 2 GB varianty o 12,50 dolarů. Nově 2 GB Raspberry Pi 4 stojí 67,50 dolarů a 2 GB Raspberry Pi 5 stojí 77,50 dolarů.
OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 26.09. Vedle Flatpaku také s podporou Snapu.
Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.
Pocket Tank je malé kapesní virtuální akvárium postavené na vývojové desce ESP32-S3-Touch-AMOLED-1.8. Na dvoujádrovém mikrokontroléru ESP32-S3 s 8 MB PSRAM a 16 MB flash paměti běží jak simulace akvária, tak i malý jazykový model určující chování rybiček. Lokální model o velikosti 7,56 MB se 14 miliony parametrů vznikl destilací modelu Gemma 4 26B, tedy učitele s 26 miliardami parametrů. Kromě firmwaru pro skutečný modul s AMOLED
… více »Open-source nástroj Jevstiller vytváří (destiluje) malý lokální model, který se průběžně učí z odpovědí komerční služby Jev. Běžné dotazy vyřizuje přímo na vlastním hardware, čímž může řádově zkrátit čas odezvy a snížit provozní náklady díky menšímu využívání zpoplatněného API. Nejisté požadavky Jevstiller posílá do Jevu, rovněž průběžně kontroluje náhodná dvě procenta dotazů Jevem. Pokud se lokální model začne s Jevem rozcházet,
… více »Konference LinuxDays 2026 proběhne již tento víkend 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Konference LinuxDays 2026 znamená desítky přednášek a workshopů, zástup zajímavých osobností, místo pro setkání, spoustu nových nápadů a informací a stánky řady různých projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, MacGyver - bastlíři SH, OpenAlt a mnoho dalších. Vstup je volný.
Microsoft oznámil, že WSL kontejnery (WSLC) aneb linuxové kontejnery ve Windows Subsystem for Linux (WSL) jsou již obecně dostupné. Současně popsal jejich architekturu.
openSUSE Leap 16.1 vstoupil do RC fáze. Nově lze instalovat jako standardní systém (Standard) nebo jako neměnný systém s atomickými aktualizacemi (Immutable). Samostatná neměnná distribuce openSUSE Leap Micro končí.
Současný IS je postaven jako tlustý klient na Visual FoxPro + Oracle. Nový IS je formou web app, která běží na IIS a je napsána pod C# za pomocí EntityFrameworku a ODP.NETu pro komunikaci s OracleDB.
Aktuální problém je, že mně programátoři neustále otravují s tím, proč jim něco nefunguje ve Visual Studiu, jakou verzi klienta mají použít, jak to mají nainstalovat, proč jim to nejde na jejich domácím PC ve Visual Studio Express atd. Fakt mně to sere. Nechápu, proč já jako systémák mám řešit jejich program na jejich PC.
Celá věc vygradovala v pátek, kdy jsem musel být v jobu asi do 20:30 kvůli tomu, že mi hlavní programátor IS ve čtvrtek řekl, abych zaktualizoval Oracle klienta na 12.2 na serveru s IIS, kde běží IS. Prý kvůli tomu, že si nainstalovat VS2017 a potřebuje novějšího oracle klienta a celý vývojový prostředí a produkci chce kvůli tomu překlopit na novější verze.
Nebudu napínat, v pátek zjistili, že jim nejde logování do db, používají elmah. Nevěděli proč, tak to přepli na logování do souborů. Pak zjistili, že jim nechodí odesílání emailů. Nebudu natahovat, páteční snažení zjistit, kde je chyba, skončila tak, že jsem obnovil VM s IIS z doby před upgradem a hlavní programátor dohrál změny, které do pátka udělal.
Problém je naprosto jednoduchý a zároveň smutný, vývojáři hafec let vyvíjejí a staví na něčem, o čem nemají ani páru. Oni vůbec nevědí, jak to funguje, co je ve skutečnosti potřeba pro funkci, jak je vše interně propojeno a navázáno. Prostě si něco nainstalovali, vyzkoušeli, řekli si, že je to parádní a používají to. Dokumentaci nečetli, asi jim to nepřišlo důležité. Když něco nejde, tak zkusí do projektu nakopírovat nějakou knihovnu z Oracle Clienta, začne to fungovat a jsou spokojeni. Používají ODP.NET a absolutně neví, jaký je rozdíl mezi managed a unmanaged verzemi apod.
Páteční incident už byla poslední kapka, kdy jsem si řekl, že už na ně totálně seru a nebudu jim s ničím pomáhat. Já to nevyvíjím, nevím, proč bych měl řešit, jak to mají postavené, jaké knihovny používají apod. Když už bych měl něco řešit, tak nasazení podle jejich dokumentace, která vzhledem k jejich dosavadním znalostem je nulová.
Šel jsem naposledy do sebe a přes víkend jsem si pročetl dokumentaci a snažil se co nejvíce pochopit, jak jejich projekt funguje, co využívají, co je potřeba, jaké verze a jak lze mixovat, zda jde mixovat verze knihoven, za jakých podmínek apod. Výsledkem je záznam do firemní wiki, který jsem jim poslal. Tento záznam chci i zveřejnit, kdyby řešil někdo někdy něco podobného. Takže tady to je.
ODP.NET je implementace .NET vrstvy, která volá knihovny Oracle klienta, viz Data Provider for .NET Developer's Guide.
Jsou zde tři typy driveru Oracle Data Provider for .NET (ODP.NET) :
Přesné rozdíly mezi Managed a UnManaged drivery popisuje Oracle zde :
Je myslím jasné, že míchat v projektu managed a unmanaged drivery není dobrý nápad.
Taktéž je třeba se držet podporované kombinace ODP.NET a Oracle klienta.
Pokud projekt linkujeme k nějaké verzi dll, je třeba, aby přesná verze dll byla i na straně, kde sw nasazujeme. Pokud toto nemůžeme z nějakého důvodu zajistit a víme, že naše použití v kódu funguje na různých verzích knihoven, tak to můžeme řešit třeba jako tento člověk zde pomocí "AppDomain.CurrentDomain.AssemblyResolve" :
ODP.NET je samozřejmě zpětně kompatibilní, což znamená, že s aktuální verzí se lze připojit do starší verze OracleDB, ale i naopak se starší verzí do novější OracleDB, viz Doc ID 207303.1 :
Kompletní schema kompatibility pak viz :
Je opět vedena u Oracle, viz Doc ID 726240.1 :
Pro nasazení jsou tři možnosti (resp.5):
1) nasadit ODAC pomocí universálního instalátoru Oracle s podporou Visual Studia (tzn. nasazení na počítače vývojářů, má v sobě 32bit)
ODAC OUI obsahuje :
2) Nasazení Runtime ke klientům
a) nasadit ODAC z nuget repositáře
b) použít ODAC universální instalátor (je jen 64bit, pro nasazení podpory 32bit se musí použít balíček výše v bodě 1)
ODAC OUI obsahuje :
c) použít ODAC XCopy pro rozsáhlejší nasazení :
ODAC XCopy obsahuje :
3) Oracle Client Full
Obsahuje úplně vše (včetně admin nástrojů apod.) kromě integrace s Visual Studio
Pro integraci se buď použije ODTwithODAC (viz bod 1), nebo lze nainstalovat jakýkoli jiný runtime pro Oracle a k němu zvlášť doinstalovat Oracle Developer Tools for Visual Studio :
Příklady jsou uvedeny v : Oracle Data Provider for .NET FAQ
Tzn., že je možné na jednom PC provozovat více verzí ODP.NET, je taktéž možné nasadit více verzí na IIS tím, že se pro každou verzi definuje jiný aplikační pool s jinou verzí.
Jedná se o OSS framework (github), který nám umožní přistupovat do databáze objektově, resp. jedná se o ORM (Object Relation Mapping).
Ve světě C# má konkurenci v podobě projektu NHibernate (github, wiki), což je port Hibernate ze světa Javy. Zajímavé porovnání vyšlo v cz zde (je už ale neaktuální) :
MS přepsal EF, který měl pak vyjít jako EF7, ale místo toho jej vydal jako EF Core (github). Stejně to udělal s ASP.NET (github). Výsledkem tedy je :
ASP.NET 5 -> ASP.NET Core 1.0 Entity Framework 7 -> Entity Framework Core 1.0Každopádně EF Core nepodporuje všechny fce, které jsou v EF6, jedná se o odlehčenou verzi a vývoj jde asi jiným směrem, než byl v EF6.
Určitě má toto malé shrnutí nějaké nedostatky, ale jako nástřel pro někoho by to mohl být dobrý začátek.
A jak jste na tom vy? V čem vyvíjíte? Používáte nějaké ORM, či nějaké frameworky?
Zdar Max
PS: doufám, že jsem někoho tímto zápisek ze světa MS moc neranil...
Tiskni
Sdílej:
Každý druhý tým má na to lepení SQLek vlastní pseudoframework, půlka logiky je implementovaná v DB procedurách a triggerech. Kusy SQLka se předávají mezi objektama, někdy se po cestě parsujou a žvýkají, hintujou podle pochybných heuristik apod. CI jakž takž funguje, jinak by se ten produkt rozpadl už dávno.
Naštěstí máme na lokální deployment pro devel účely virtuálky, takže si nemusíme PC zahnojit různýma pochybnýma knihovnama několika verzí. Taky používáme repository pro knihivny a artefakty, takže to dev nemusí shánět a stahovat někde sám, nedejbože instalovat. Takže aspoň něco
Bez ORM se lepí SQLka přímo v "controllerech" do stringůNa tom, ze se nepouziva ORM nevidim nic spatneho, ale chce to veskerou praci s daty peclive izolovat do jednoho mista. Je to sice ze zacatku narocnejsi na programovani, ale ma to i sve benefity, kdyz nekdo prijde s nejakym extravagantnim pozadavkem typu ukladani dat do ruznych NoSQL, klaudovych, in-memory ulozist.
Bez ORMNemuzu si pomoct, ale ORM mi sedi maximalne tak na jednoduche CRUD ulohy. Kdykoliv projekt zacal rust, prerustat sve puvodni urceni, zacalo ORM hazet klacky pod nohy. Tak jsem to zacal resit, jestli neco prece jen nedelam spatne a vzal si k tomu nekolik knih. Vetsina materialu by se dalo rozdelit do tri kategorii (1) autor nepochopil OOP, (2) autor nepochopil relacni databaze, (3) autor nechape OOP ani relacni databaze. Takze pokud to neni nezbytne nutne ORM se vyhybam, jak to jde.
dokud se query builder nesnaží být moc chytrýsoude podle toho mala co ja jsem videl, tak se casem stejne zjisti, ze je potreba to a tam to (treba lazy loading, caching ...) a driv nebo pozdeji to skonci vlastni implementaci Hibernatu, ktera se od nej lisi zejmena v tom, ze se s tim stravila hromada casu a je podstatne vic zabugovana
pokud se teda nejedna o mini projektik na mesic.