Spring MVC – základy

Na konci článku nájdeš videonávod ako na Spring MVC. MVC pattern - Model-View-Controller Vysvetlime si v jednoduchosti, čo je to MVC pattern. Používateľ dáva request (žiadosť) na server. Request obdrží Controller – ten vie kam má request posunúť a...

Vieš, čo sú to Lambda výrazy?

Čo sa naučíš?porozumieť lambda výrazom použiť lambda výrazy funkcionálne rozhrania (functional intefaces) referencie metód (method references) vylepšenia na kolekciáchhttps://www.youtube.com/watch?v=Sk5I3lEb3Xc&t=16s&list=PLJ9z8M9rKWgJ0Ur5ZUTX9KWNoZFcerJEu&index=2 Prečo Lambda výrazy? Prečo použiť lambda výrazy? Povieme si pár odrážok, prečo ich používať.povoľuje použiť takzvané funkcionálne programovanie, čo je doteraz niečo, povedal by som...

Domain-Driven Design – používanie repositories

Repository je v rámci Domain-Driven Designu (DDD) jeden zo základných stavebných prvkov.Ide o rozhranie (interface), ktoré obsahuje metódy pre prístup k úložisku objektov – čiže typicky k databáze. Príkladom môže byť rozhranie CustomerRepository, ktoré na prístup k objektu Customer poskytuje metódy: Customer read( long customerId...

UML – dobrý sluha, ale zlý pán

Unified Modeling Language je v programátorskom svete vnímaný rôzne. Jedna skupina programátorov využíva UML ako vhodný nástroj na vizualizáciu softvéru, druhá skupina programátorov ho zaznáva ako zbytočný formalizmus.A obe skupiny majú pravdu: UML je dobrý sluha, ale zlý pán. Vizualizácia zložitého systémuVo všetkých komplexných oblastiach...

Princípy objektovo orientovaného programovania v praxi

Na jednoduchom príklade demonštrujem spôsob využitia objektovo orientovaných princípov. Ukážem, že v porovnaní s priamočiarym prístupom je objektový zápis prehľadnejší. Využijem aj hlavný princíp techniky „domain driven design“ (DDD), ktorým je „všadeprítomný jazyk“. A ukážem aj spôsob využitia niektorých SOLID princípov. Zadanie Vstupom je súbor o...

Svet podľa Idomaster: „Na každý problém existuje riešenie.“

Idomaster
Svet informačných technológií je svetom plným inovácie, daných pravidiel a z veľkej časti aj disciplíny. Každý, ľudovo povedané, IT-čkár nám však dá za pravdu, že s týmto poslaním neraz vznikajú otázky a pokrok sprevádzajú malé i veľké problémy.Pohybovať sa neustále v numeráliách, kódoch a...

Vzdelávacia platforma Butterfly Effect predstavuje prvých absolventov

Prvých 22 účastníkov si v Butterfly Effecte za 5 mesiacov prešlo celý proces tvorby mobilných aplikácií a hier od nápadu až po samotné uvedenie na trh. Spoločnú iniciatívu s cieľom vzdelávať mladých ľudí ako uspieť na globálnom trhu predstavili v septembri minulého roka nezisková organizácia...

[Edited] Kto vyhrá TP CUP 2018? Vyber najlepší projekt študentov FIITky a vyhraj aj ty

 Celoročná práca študentských tímov bratislavskej FIITky smeruje do finále a 7. júna spozná TP Cup 2018 svojho víťaza. Zo siedmich tohtoročných semifinálových prezentácií porota vyberie projekt, ktorý je technicky zaujímavý a dobre zrealizovaný. Podpor študentov a pomôž nám vybrať najlepšiu prezentáciu semifinálových projektov TP CUP 2018. Lajkuj na Facebooku a YouTube,...

Vývoj softvéru ako stavba babylonskej veže

Podľa príbehu z Biblie babylonskú vežu ľudia nedostavali preto, lebo sa nemohli dohovoriť. Keď stavitelia hovoria rôznymi jazykmi, akýkoľvek komplikovaný projekt skončí nezdarom. Tento článok ukazuje, ako je možné postupovať pri implementácii domény tak, aby bola zachovaná hlavná myšlienka Domain Driven Designu: spoločný jazyk. Hoci...

CQRS – pre veľa komplikovaných dát

Command and Query Responsibility Segregation (CQRS) je návrhový vzor, ktorý odporúča implementovať dva rôzne modely pre ten istý pojem v závislosti od účelu: jeden model pre zápis dát („command“) a druhý model pre čítanie dát („query“). Špecializované modely umožňujú architektom naplno využiť silu objektového prístupu aj...

Zlo zvané obojsmerná závislosť

Používanie obojsmerných závislostí v objektovom modeli je jednou z príčin vzniku ťažko udržiavateľného softvéru. Tento článok sa zaoberá tým, kedy obojsmerné závislosti vznikajú, prečo sa im treba vyhýbať a ako.Kedy vzniká obojsmerná závislosť Typickým predstaviteľom obojsmernej závislosti medzi dvoma objektami je obojsmerná asociácia: Uvedený model vychádza z týchto používateľských požiadaviek:...

Vzťahy v objektovom svete

Tento článok obsahuje popis vzťahov medzi triedami v objektovo-orientovanom modeli s dopadmi na závislosti medzi nimi. Typy vzťahov sú demonštrované na nasledujúcom diagrame tried: Diagram modeluje doménu evidencie zmlúv a faktúr pre zákazníka. Faktúra sa skladá z položiek faktúr, ktoré držia informácie o fakturovanom tovare, množstve...

Mutable vs. Immutable

S nástupom funkcionálnych jazykov sa častokrát objavuje požiadavka na nemeniteľnosť atribútov objektu – immutability. Tento článok upozorňuje na to, kde sú hranice využitia nemeniteľných objektov pri objektovo-orientovanom programovaní. Pre potreby zmien v softvéri je kľúčová schopnosť postaviť softvér na modeli, ktorý čo najvernejšie odráža realitu....

Nábor záujemcov do Full-Stack Academy 2018 spustený

 Spoločnosť PosAm opäť spúšťa vzdelávaciu akadémiu pre študentov ale aj neštudentov, ktorí sa chcú teoreticky a prakticky zlepšiť a nabrať skúsenosti so softvérovým vývojom na reálnych projektoch. Ak máš drive, chuť učiť sa a máš aspoň základy programovania (napr. JAVA), poď sa posúvať dopredu s PosAm Full-Stack...

Používate dedičnosť v objektovom svete správne?

Dedičnosť v objektovom svete býva častokrát používaná nevhodne. Keďže návodov na správne použitie dedičnosti je veľa, tento článok uvádza návody na nesprávne použitie dedičnosti (antipatterny). Zároveň vysvetlí, prečo je použitie dedičnosti nesprávne a ako by sa v danom prípade malo postupovať. Dedičnosť do istej miery porušuje základnú...

Funkcionálne programovanie ako vhodný doplnok objektovo orientovaného dizajnu

Nástup funkcionálnych jazykov môže vytvárať predstavu, že objektovo orientovaný prístup je na ústupe. Avšak opak je pravdou. Funkcionálne programovanie veľmi dobre podporuje objektovo orientovaný dizajn. Nasledujúci príklad demonštruje využitie funkcionálneho programovania na podporu princípu jednoduchej zodpovednosti („Single responsibility principle“), ktorý je jedným zo základných princípov...

Ultimátna príručka pre začínajúceho developera

Keď sa chce začiatočník naučiť kódiť, je zvyčajne zmätený z pojmov ako “klient”, “server”, “back-end”, “front-end”, “full-stack”, “layout” atď. A ešte viac je zmätený z toľkých technológií, ktoré sa na webe používajú – JavaScript, Java, PHP, Ruby, Bootstrap, jQuery, Angular, React, Vue.js, Node.js, Meteor.js,......

Bratislava Game Jam 2017 ukáže, že na vytvorenie originálnej videohry stačí aj 45 hodín

Mladý pes v spolupráci s Goetheho inštitútom v Bratislave pripravuje tretí ročník Bratislava Game Jam, ktorý sa tento rok uskutoční v priestore Binarium. Na podujatí sa stretnú programátori, herní dizajnéri, scenáristi a všetci, ktorí sa zaujímajú o tvorbu hier, s jasným cieľom - za...

IT spoločnosť zdarma vyškolí IT špecialistov, začínajú už zajtra.

Slovenský IT sektor zápasí s nedostatkom kvalifikovanej odbornej pracovnej sily. Odborné školy a univerzity nedokážu pokryť rastúci dopyt IT sektora, a to bez náznakov zlepšenia v dohľadnej budúcnosti. IT Asociácia Slovenska predpokladá, že na Slovensku bude v horizonte 3 rokov chýbať až 10-tisíc IT...

Java 8: Streamy

Ak by ste sa pýtali, aké sú najväčšie novinky v Jave 8, tak odpoveď bude jednoznačne, že Lambda výrazy (referencie na metódy) a Streamy. O tom prvom som už písal tu. O tom druhom si povieme teraz. Streamy sú nový spôsob ako pracovať s množinami...