szabály: ha úgy gondolod, hogy a problémád 99% hogy nem lehet sorvég, akkor valszeg sorvég. Például, amikor egy docker konténerben mountolt scriptet akarsz futtatni, és kvázi file not foundot kapsz...
OpenAPI spec "generáláshoz" hasznos lehet az OpenAPI Springdoc Setup. Ha viszont OpenAPI specből szeretnénk generálni, pl. szervert akkor belefuthatunk abba, hogy nem tudunk az objektumo...
Forrás: https://davenicoll.com/configuringgitgithubcredentialsfordifferentfolders/ Usecase Személy szerint ez nekem pl olyankor hasznos, ha különböző repokban különböző "userként" szer...
Bővebben: https://github.com/FasterXML/jacksonmodulekotlin Ha egyedi dátumokat / adattípusokat szeretnénk serializálni / deserializálni, vagy nincs behúzva a projektbe a Spring Web, vagy default ...
Ha egy XSDből akarunk példa XMLt generálni, segítséget nyújthat a VisualStudio. Akár több sémát érintő, "komplex" XSDk esetén is generálhatunk belőle, de az XSD fájloknak egy mappában kel...
Amikor JdbcTemplate segítségével hívunk meg tárolt eljárásokat, meg kell adnunk a paraméterek nevét és típusát. A tömbök és struktúrák kezelése nem triviális. Szükségünk lesz egy DataSourcera, ami...
SpringBoot alkalmazásoknál előfordulhat, hogy egy adott @Scheduled annotációval ellátott folyamatnál nem szeretnénk, hogy bármikor fusson. Ennek megoldására több lehetőség is van, az egyik a @Condi...
Először is, le kell kérni a default profil elérését, amire a legtutibb megoldás, ha futtatjuk a következőt: echo $PROFILE Ennek eredményeképpen megkapjuk a default profil elérését, a továbbiakba...
XML szerializálás (marshalling) vagy deszerilizálás (unmarshalling) során a dátumok egyedi formátumának kezeléséhez szükséges pár plusz lépést megtennünk. Az adatmodellben annotálnunk kell a dátum...
Logitech MX Mechanical mini billentyűzetnél lehetőségünk van egyszerre több géphez csatlakotatni az eszközt. Jelen esetben US INTL kiosztású billentyűzetről van szó. macOSen minden tökéletes, Windo...
A Redocly segítségével a generált OpenAPI specifikációból tudunk egy letisztult, könnyen olvasható dokumentációt generálni. Előfeltétel Kell egy OpenAPI spec. Lsd.: OpenAPI Springdoc Setup R...
Spring(boot) alkalmazásoknál az aktív profilt beállíthatjuk a következőképpen: application.properties vagy application.yml fájlban a spring.profiles.active property értékének beállításával (ez ...
Az Exposed is természetesen támogatja a joinok használatát, de nem minden esetben olyan egyszerű, mint a JPA esetében. Alapozás Először az Entityket hozzuk létre. Semmi extra, onetomany kapcsolat...
Bármikor lehetünk olyan szerencsétlenek, hogy egy olyan adatbázis táblával találkozunk, aminek nem egy, hanem több mezőből álló, összetett (composite) elsődleges kulcsa van. Sajnos az Exposed enn...
A Retrofit library használatakor annotációk segítségével tudunk HTTP kéréseket kezelni. Gyakorlatilag egy interfacet kell megírnunk, amiben definiáljuk a végpontokat, ahhoz hasonlóan, mintha a sajá...
Kotlinban a listák darabolásához, méret korlátozáshoz, vagy hívjuk aminek akarjuk, a chunked utasítás használható. pl.: a data listát max. 1000 méretű darabokra bontjuk: val requests: List<...
Elvileg van pár beépített library amit a %use libraryName paranccsal lehet behúzni, mint pl. az exposedot. Ha a MavenCentralról akarunk libraryt használni akkor a következő parancs használható: @...
Ha az eredményt "be kell várni": val semaphore = Semaphore(4) val resp = runBlocking { items.map { item > async(context = Dispatchers.IO) { semaphore.withPermit { // Map...
A retryhoz egy flowt kell használni, a retryhoz pedig coroutine környezet kell. Coroutinehoz, többszálúsításhoz: Semaphorok használata, többszálúsítás runBlocking { flow { // Do something val...
Doksi: https://springdoc.org Java17tel, Springboot 3mal lett a következő megoldás kipróbálva. A használathoz szükséges minimum dependencia: implementation("org.springdoc:springdocopenapistar...
Property encryptionhöz a JASYPT használható, legegyszerűbben a Springbootstarter segítségével. https://github.com/ulisesbocchio/jasyptspringboot A springbootstarer igazából ahhoz kell, hogy az alk...
Ha találkozunk a "…. Bean that could not be found" hibával, viszont mi nagyon létrehoztuk már a Beant, akkor vszg az lehet a baj, hogy a Spring egyszerűen nem találja meg. Nyilván, egy me...
Projektszintű setuphoz használható a gradle plugin, amivel tudjuk kézzel futtatni a lintert: https://github.com/jlleitschuh/ktlintgradle?tab=readmeovfile#simplesetup Az IntelliJ plugin viszont a ...
Külső rendszerrel való http kommunikációnál (pl. RESTTemplate) mindig legyen beállítva timeout, mert a Spring defaultja végtelen, szóval ha a távoli szerverrel gebasz van, nem fog elhasalni a kapcs...
A Reverse Proxy egy olyan szerver, ami a kliens és a backend szerver között helyezkedik el, és a kliens kéréseit továbbítja a backend felé. A kliens számára úgy tűnik, mintha a Reverse Proxy lenne ...
Probléma By default, a session sütin a Security flag nincs beállítva, így nyílt szövegben kerül átvitelre a sessionID még a HTTPS kapcsolat kiépítése előtt. Beállítása (részben) kiküszöböli a Sess...
Ha nem az IDE segítéségével hozzuk létre a modult, akkor a mappaszerkezet kialakítása után a következőket kell tenni: A projekt gyökerében található settings.gradleben: include 'modules/n...
Az Emoji beszúrás forráskódba margójára. A napokban elkezdtem használni a Github Copilotot és szégyen gyalázat, nem jutott eszembe, hogy pontosan hogy lehet HTMLben favicont beszúrni. Legnagyobb me...
Ha esetleg elcsesződne a gitconfig, vagy elfelejtettünk profilt váltani (GitKrakenben, heti szinten) és rossz userrel megy fel a commit, akkor egyrészt: Mehet egy jóvágású interactive rebase, l...
Ma sikerült rájönnöm, miközben szépítgettem a landinget, hogy az emojik ma már nem csak képecskék, hanem unicode karakterek. Éppen azzal szenvedtem, hogy keresgéltem a Github cheatsheetben egy emo...
Az interneten kismillió tutorial van a Websocket használatára, de mindegyik chatelésre, vagy todo listre van kihegyezve. Az alábbiakban egy olyan megoldás látható, ami használható akkor, ha pl. egy...
Ha valamit vissza akarunk vonni, squasholni, stb, hasznos lehet az interactive rebase. Én speciel olyankor használtam, amikor egy repo legelső commitjával kellett valamit utólag kezdeni. git rebas...
Annotációkhoz, pl @JsonFormat jöhet jól, ha nem akarjuk 50x ugyanazt a Stringet bemásolni. Kotlinnál erre lehet használni a companion objectet, ebből fordítási idejű konstans lesz, amit már annotác...
Probléma Főleg új projektnél lehet belefutni, hogy a lekérő operációk (pl. GET) teljesen jól működnek, de a módosító operációk (mint POST) elhasalnak 403mas hibával. Megoldás Valószínűleg a CSRF...
Probléma Sajnos előfordulhat, hogy egy régebbi rendszernél boolean helyett string van használva. Ezeket vagy kézzel minden alkalommal konvertáljuk egy extension functionnel, pl.: fun String?.toBoo...
Ez akkor lehet hasznos, ha van egy button, vagy bármilyen elem ami jelenleg disabledön van, de mégis szeretnénk hozzá magyarázatot / plusz információt megjeleníteni. matTooltipDisabled="false...
Tünet Kérések feldolgozásakor a Stringet nem lehet parsolni. Lsd: Failed to convert property value of type 'java.lang.String' to required type 'java.time.LocalDate' for property.....
A propertykhez lehet egyedi accessorokat definiálni. Ha definiálunk egy egyéni gettert, az minden alkalommal meg lesz hívva, amikor megpróbáljuk elérni a propertyt. Miért jó ez? Így lehet egy szá...
@Query("Select id from Data d where 'EU' = :#{#filter.customerType.name()}") List<DataDTO> findData(@Param("filter") DataRequest filter); Kell a name...
Egyedi object létrehozás, ha pl a visszadandó értékhez kell tárolt eljárás is, stb. Megoldható native queryvel, és interface projectionnel. interface InventoryResponse { var type: String? var in...
"Probléma" A JDBC driver minden eljárás előtt meghív egy metadata lekérdezést, amivel lekéri, hogy az eljárások milyen nevű és típusú paramétereket várnak, mit adnak vissza, stb. Lehet o...
XSD Intellij IDEA Ultimateből elég egyszerűen lehet .xsdből java classokat generálni, csakhogy nem mindig mindenkinél van ultimate, for obvious reasons. Fel kell hozzá tenni a jaxbt, JDK 11 óta ne...
Probléma Gitlab pipeline összeállításakor (de Jenkins is egy kutya) jött szembe, hogy ha a gradleös projektet szeretnénk buildelni, akkor egy külön lépésben a ./gradlewnek egy tetszőleges chmodda...
Nyilván ez egy kézzel heggesztett regex, de bármi kinyerhető így a szövegből. version=$(git tag pointsat master | grep Eo '[09]\.[09]\.[09]')
Ez egy igen régi probléma. Ez most a legutóbbi működő verzió, Jakartával működik már a javax packageek helyett, szóval eléggé uptodate. Ami kell hozzá: implementation("org.springframework.bo...
Ez a script elvileg azokat az imageeket törli, amik nincsenek jelenleg használatban, és 2 hónapja nem is voltak. Tesztelve lett, de fenntartásokkal kell kezelni, hogy valójában mit is csinál a hát...
Ez olyankor lehet hasznos, amikor query paramétereket kell a requesthez fűzni. Sokkal elegánsabb megoldás, mint végig nullcheckelni az összes paramétert és összelegózni az url stringet. let url = ...
Ha kézzel akarjuk mappelni, hogy melyik típusú jelszót mivel encodeoljuk, akkor hasznos lehet a következő. Akkor is jól jöhet, ha teljesen egyedi passwordEncoderre van szükségünk, pl SHA1re. @Bean...
Source: https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#commitmessageguidelines build: Changes that affect the build system or external dependencies (example scopes: gulp, broc...
Krisztus előtti rendszereknél még ősrégi Oracle drivereket kellett használni. Manapság ezekkel egyrészt lehet kompatibilitási probléma is, illetve bármikor leszedhetik őket a központi repókból, pon...
2.4 • © 2024 • Tóth László