<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arhiva eleks - .debug</title>
	<atom:link href="https://www.debug.hr/tag/eleks/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.debug.hr/tag/eleks/</link>
	<description>Reinventing Technology</description>
	<lastBuildDate>Fri, 06 Sep 2024 12:48:42 +0000</lastBuildDate>
	<language>hr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.debug.hr/wp-content/uploads/2025/02/cropped-debug2025-favicon2-32x32.png</url>
	<title>Arhiva eleks - .debug</title>
	<link>https://www.debug.hr/tag/eleks/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Softverska arhitektura &#038; AI – trebaju li se arhitekti bojati za svoje poslove?</title>
		<link>https://www.debug.hr/softverska-arhitektura-ai-trebaju-li-se-arhitekti-bojati-za-svoje-poslove/</link>
		
		<dc:creator><![CDATA[Sandro Vrbanus]]></dc:creator>
		<pubDate>Mon, 09 Sep 2024 05:30:51 +0000</pubDate>
				<category><![CDATA[Programiranje]]></category>
		<category><![CDATA[eleks]]></category>
		<guid isPermaLink="false">https://www.debug.hr/?p=12385</guid>

					<description><![CDATA[<p>Donosimo malo istraživanje i primjer o tome kako AI može pomoći u poslu vezano uz arhitekturu softvera Prije nekoliko mjeseci [&#8230;]</p>
<p>Objava <a href="https://www.debug.hr/softverska-arhitektura-ai-trebaju-li-se-arhitekti-bojati-za-svoje-poslove/">Softverska arhitektura &#038; AI – trebaju li se arhitekti bojati za svoje poslove?</a> pojavila se prvi puta na <a href="https://www.debug.hr">.debug</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Donosimo malo istraživanje i primjer o tome kako AI može pomoći u poslu vezano uz arhitekturu softvera</strong></p>
<p>Prije nekoliko mjeseci sam sudjelovao na jednoj domaćoj, najvećoj, developerskoj konferenciji sa predavanjem na ovu istu temu iz naslova. Predavanje, odnosno prezentacija je, uz ponešto teksta i činjenica, bila skup <em>screenshot</em>-ova mojeg „istraživanja“ AI-a i mogu li ga i kako koristiti u svrhu razvijanja arhitekture nekog softvera, a sve u svrhu odgovora na pitanje iz naslova, a to je moram li se kao Arhitekt softvera „bojati“ za svoj posao.</p>
<p><em>Autor: <strong>Tomislav Globlek</strong>, Application Architect, <a href="https://eleks.com/" target="_blank" rel="noopener">ELEKS</a></em></p>
<p>S obzirom da je ovo članak, a ne prezentacija, neću koristiti toliko <em>screenshot</em>-ova, nego ću probati svoje „putovanje“ kroz razvoj i dokumentiranje arhitekture pretočiti u tekst. Naravno, neće tu biti apsolutno sve prikazano i opisano, ali ću vam probati prenijeti moj tok misli, rezultate i zaključke oko korištenja umjetne inteligencije u svrhu kreiranja arhitekture jednog zamišljenog softvera kako bi sam sebi odgovorio na pitanje je li moje mjesto arhitekta softvera ugroženo.</p>
<h4>Krenut ću od definicije arhitekture</h4>
<p><em>“The software architecture of a system is the set of structures needed to reason about the system. These structures comprise software elements, relations among them, and properties of both.”</em></p>
<p>Dakle, skup raznih struktura koji omogućavaju objašnjenje sustava, a te strukture se sastaje od softverskih elemenata, relacija između njih i njihovih svojstva.</p>
<figure id="attachment_12391" aria-describedby="caption-attachment-12391" style="width: 1040px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="size-full wp-image-12391" src="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-2.jpg" alt="" width="1040" height="1079" srcset="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-2.jpg 1040w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-2-289x300.jpg 289w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-2-987x1024.jpg 987w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-2-768x797.jpg 768w" sizes="(max-width: 1040px) 100vw, 1040px" /><figcaption id="caption-attachment-12391" class="wp-caption-text">Tomislav Globlek</figcaption></figure>
<p>Zadao sam si zadatak, i pokušao sam koristiti što više AI kako bi dobio željeni rezultat, a to je dokumentirana i nacrtana arhitektura nekog softvera. Malo sam se fokusirao na jedan aspekt arhitekture, onaj meni najzanimljiviji, a to je vizualizacija arhitekture putem dijagrama, a tek onda dokumentiranje.</p>
<p>Zamišljeni software čiju arhitekturu sam htio „osmisliti“ i „nacrtati“ pomoću AI-a je, ukratko, web aplikacija koja se mora integrirati sa lokalnom bazom podataka, omogućiti korisniku da mijenja dizajn i radi online plaćanje.</p>
<p>Premisa korištenja AI-a je da sam odlučio koristiti besplatne inačice, počevši od ChatGPT-a kao nekako najpoznatijeg.</p>
<p>Krenuo sam sa raščlanjivanjem zahtjeva na funkcionalne i nefunkcionalne zahtjeve, grupirao ih logičke i slijedne korake te uz svaku stavku probao odrediti mogu li za to koristiti AI ili ne.</p>
<ol>
<li><strong>Korisnički zahtjevi</strong>
<ul>
<li>Funkcionalni – Korisnik</li>
<li>Nefunkcionalni – Korisnik / Arhitekt / <strong>AI</strong></li>
</ul>
</li>
<li><strong>Dizajn arhitekture</strong>
<ul>
<li>Obrasci (<em>patterns</em>)- <strong>AI</strong></li>
<li>Taktike (<em>tactics</em>) &#8211; <strong>AI</strong></li>
<li>Atributi kvalitete, rizici, osjetljive točke (<em>Sensitivity points</em>) – Arhitekt / <strong>AI</strong></li>
<li>Prioritizacija – Korisnik / Arhitekt</li>
</ul>
</li>
<li><strong>Dokumentiranje arhitekture</strong>
<ul>
<li>Struktura dokumenta – Arhitekt / Korisnik / <strong>AI</strong></li>
<li>Dijagrami – Arhitekt / <strong>AI</strong></li>
<li>Razlozi i objašnjenja – Arhitekt / <strong>AI</strong></li>
</ul>
</li>
</ol>
<p>Dakle, za dosta stavki mislim mogu koristiti AI, pa sam onda tako i krenuo, dio po dio, postavljao pitanja ChatGPT-u što i kako mogu implementirati, počevši od integracije lokalne baze i web aplikacije u cloud-u na što sam dobio odgovor da moram implementirati VPN (<em>Virtual Private Network</em>). Nastavio sam sa pitanjima oko izmjene dizajna web-a, na što je ChatGPT sugerirao da mogu koristiti tehniku <em>CSS Stylesheet Switching. </em>Uz to mi je dao i uputstva kako se to može odraditi putem skripte. Predložio mi je integraciju <em>Stripe</em> servisa za online plaćanje s obzirom da taj servis nudi izdavanje faktura. Sve su to bili pojedinačni upiti na koje sam dobio odgovor, odnosno prijedlog ili ideju što i kako koristiti.</p>
<p>Međutim, onaj koji čita dokument arhitekture to možda ne može vizualizirati, pa je dobro napraviti i neki dijagram, kako bi se prikazale relacije (jedna od glavnih definicija arhitekture sustava) između tih pojedinačnih elemenata i kako bi to moglo funkcionirati u cjelini. Osmislio sam jedan kratak upit za AI gdje sam naveo što su ulazni zahtjevi i što pokušavam dobiti na dijagramu, te pitao da mi ga nacrta. Od ChatGPT-a sam dobio <em>mermaid</em> kod, koji sam ubacio u <strong>draw.io</strong> i dobio dijagram. Vrlo jednostavno i efektno, kada bi bilo točno.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-12392" src="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-3.png" alt="" width="1600" height="1240" srcset="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-3.png 1600w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-3-300x233.png 300w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-3-1024x794.png 1024w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-3-768x595.png 768w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-3-1536x1190.png 1536w" sizes="(max-width: 1600px) 100vw, 1600px" /></p>
<p>S obzirom da sam na prvom rezultatu crtanja dijagrama dobio „krivi“ rezultat do kojeg sam došao inicijalnom analizom, pokušao sam ići korak dalje, isti upit za crtanje dijagrama provući kroz još nekoliko alata, da vidim ima li razlike. Probao sam:</p>
<p><strong>1. Whimsical</strong> – jako zanimljiv alat za crtanje dijagrama koji ima direktnu integraciju sa ChatGPT-om u pozadini gdje mu se može zadati upit za crtanje dijagrama direktno kroz korisničko sučelje. Rezultat je bio malo bolji, ali i dalje ne potpuno točan. Interesantno, s obzirom da u pozadini koristi isti model kao što sam i ja direktno koristio, ChatGPT.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-12386" src="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-4.png" alt="" width="1600" height="1004" srcset="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-4.png 1600w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-4-300x188.png 300w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-4-1024x643.png 1024w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-4-768x482.png 768w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-4-1536x964.png 1536w" sizes="(max-width: 1600px) 100vw, 1600px" /></p>
<p><strong>2. Excalidraw</strong> – također, jako zanimljiv alat za brzo crtanje  i skiciranje bilo čega, pa tako i dijagrama, isto ima direktnu integraciju sa AI-em (ne znam točno kojim modelom). Isti upit kao i u prva dva slučaja, dobio sam treći rezultat. Opet, malo bolje, ali i dalje ne potpuno točno.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-12387" src="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-5.png" alt="" width="1600" height="1376" srcset="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-5.png 1600w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-5-300x258.png 300w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-5-1024x881.png 1024w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-5-768x660.png 768w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-5-1536x1321.png 1536w" sizes="(max-width: 1600px) 100vw, 1600px" /></p>
<p><strong>3. LMSys.org Chatbot arena</strong> – zanimljiv koncept kako iskoristiti korisnike da pomognu u učenju AI modela. Zadate upit (naravno isti kao i prije) i dobijete 2 paralelna rezultata od dva različita AI modela, gdje onda vi kao korisnik dajete ocjenu koji je dao bolji rezultat. Odabrao sam jedan koji mi se činio bolji i prikladniji za ono što mi treba, rezultat ponovo u <em>mermaid</em> kodu, ponovo import u <strong>draw.io</strong>, rezultat opet drugačiji, i pogađate, opet ne potpuno točan.</p>
<p>I onda, nakon što sam probao nekoliko različitih alata sa neželjenim rezultatom, pitao sam se što bi bilo bolje. Možda nešto s kim bi mogao „pričati“ i imati interakciju, odnosno konverzaciju, kao sa „pravim“ AI-em.</p>
<p><strong>AI for</strong> <strong>Work</strong>, web stranica sa poprilično puno kategorija i potkategorija ChatGPT <em>promt</em>-ova, gdje sam naišao na jedan pod nazivom „Create a technical documentation document“ iz perspektive „Software Engineer-a“. Možda upravo ono što sam tražio.</p>
<hr />
<h4 class="island__title">Definicija ChatGPT prompta od samog ChatGPT-a</h4>
<p><em>ChatGPT prompt je ulazni tekst ili upit koji korisnik daje modelu ChatGPT kako bi dobio željeni odgovor. Prompt može biti pitanje, rečenica, ili niz rečenica koje služe kao smjernica modelu za generiranje odgovora. Ukratko, prompt je ono što korisnik unosi kako bi započeo razgovor ili postavio zadatak modelu ChatGPT.</em></p>
<p><em>Na hrvatskom jeziku, prompt bi se mogao definirati kao uputa ili upit upućen umjetnoj inteligenciji (AI) kako bi se generirao odgovarajući odgovor ili nastavak teksta.</em></p>
<hr />
<p>Upravo taj pristup mi je dao bolji rezultat, u samom crtanju dijagrama koji sam mogao „popravljati“ sa dodatnim pojašnjenjima mojeg upita. Zanimljiv dio ovakve konverzacije je što se u samom <em>prompt-u</em> definira i što očekujemo kao popratne akcije za ono što inicijalno AI generira kao rezultat. Kao popratna akcija je definirano da sam AI mora uzeti u obzir određene reference (tehničke knjige oko sofvera i arhitekture koje su također navedene u <em>propmt-u</em>) na temelju kojih treba sam sebi analizirati rezultat i ocijeniti ga.</p>
<p>Nakon toga će ponuditi što želimo napraviti sa rezultatom, i kao prva opcija je da se unaprijedi rezultat na temelju analize koju je odradio. Odabirom te opcije, AI sam sebe revidira i očekivano, poboljša rezultate. Pored crtanja dijagrama koji je bio inicijalni zadatak, daljnjom konverzacijom sam zatražio da predloži i neki predložak dokumentiranja tih rezultata (iako sam znao što bi trebao). Dobio sam poprilično dobar rezultat, naravno na temelju onih referentnih knjiga definiranih u samom prompt-u. Sve to skupa sam mogao iskoristiti kako bi kreirao dokument koji ima smisleni početak i kraj, te zaključak dizajna arhitekture.</p>
<p>Nasuprot dijagramima koje je generirao AI, ovako izgleda dijagram kada ja sa sam crtam u <strong>draw.io</strong> alatu. Dosta drugačije.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-12388 size-full" src="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-6.png" alt="" width="1452" height="1080" srcset="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-6.png 1452w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-6-300x223.png 300w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-6-1024x762.png 1024w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-6-768x571.png 768w" sizes="(max-width: 1452px) 100vw, 1452px" /></p>
<p>Zaključak priče i mojeg putovanja kroz istraživanje kako mi AI može pomoći u poslu vjerojatno nikome neće biti iznenađujući.</p>
<ol>
<li>Treba znati protumačiti i ispravno postaviti korisničke zahtjeve koji mogu biti „misleading” i za AI</li>
<li>Ponekad korisnik neće znati sve zahtjeve
<ul>
<li><strong>ALI </strong>arhitekt mora predložiti neke stvari (npr. VPN)</li>
</ul>
</li>
<li>AI može generirati objašnjenje dijagrama u tekstualnom obliku
<ul>
<li><strong>ALI, </strong>usmena prezentacija nekome tko ne razumije tehnički jezik je i dalje na arhitektu</li>
</ul>
</li>
<li>U definiranju strukture pisane dokumentacije svakako AI može pomoći i ne treba bježati od toga
<ul>
<li><strong>ALI</strong> arhitekt mora odlučiti treba li sve i ima li sve to smisla u kontekstu zahtjeva od korisnika</li>
</ul>
</li>
<li>Ima puno AI alata što nije ništa čudno
<ul>
<li><strong>ALI</strong>, jesu li točni? Ne baš skroz i uvijek, ovisi o samom ulaznom zahtjevu, ali idu u dobrom smjeru</li>
</ul>
</li>
<li>Trebamo li ih koristiti?
<ul>
<li><strong>Da, </strong>naravno, zašto si ne bi olakšali i ubrzali posao, pogotovo onaj dio oko istraživanja. ChatGPT može zamijeniti Google u dosta slučajeva.</li>
</ul>
</li>
<li>Trebaju li se arhitekti bojati za svoj posao?
<ul>
<li><strong>NE još!</strong></li>
</ul>
</li>
</ol>
<p><strong>Disclaimer: svi korišteni alati su besplatni za korištenje u kontekstu u kojem sam ih koristio, a ovaj članak nije sponzoriran niti ima namjeru reklamirati bilo koji od tih alata.</strong></p>
<hr />
<h4>O autoru</h4>
<p><strong>Tomislav Globlek</strong></p>
<p><img loading="lazy" decoding="async" class="alignright size-medium wp-image-12389" src="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-7-248x300.png" alt="" width="248" height="300" srcset="https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-7-248x300.png 248w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-7-768x929.png 768w, https://www.debug.hr/wp-content/uploads/2024/09/softverska-arhitektura-ai-7.png 818w" sizes="(max-width: 248px) 100vw, 248px" />Tomislav se bavi razvojem softvera preko 17 godina. Kroz svoju karijeru bio je dio nekoliko najvećih i najjačih tvrtki u Hrvatskoj što mu je dalo priliku raditi na projektima razvoja poslovnog softvera. Njegova strast od početka nije bila samo kodiranje, već zamišljanje i predstavljanje kako softver funkcionira ispod haube i kako klijenti vide svoj softver iz poslovne perspektive, što ga je dovelo do softverske arhitekture i vodećih uloga kroz koje je također prakticirao savjetovanje o specifičnim tehnologijama i proizvodima.</p>
<p>Objava <a href="https://www.debug.hr/softverska-arhitektura-ai-trebaju-li-se-arhitekti-bojati-za-svoje-poslove/">Softverska arhitektura &#038; AI – trebaju li se arhitekti bojati za svoje poslove?</a> pojavila se prvi puta na <a href="https://www.debug.hr">.debug</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>GitHub Copilot: 55 posto brži razvoj softvera – mit ili stvarnost?</title>
		<link>https://www.debug.hr/github-copilot-55-posto-brzi-razvoj-softvera-mit-ili-stvarnost/</link>
		
		<dc:creator><![CDATA[Sandro Vrbanus]]></dc:creator>
		<pubDate>Mon, 20 May 2024 08:00:46 +0000</pubDate>
				<category><![CDATA[Programiranje]]></category>
		<category><![CDATA[eleks]]></category>
		<guid isPermaLink="false">https://www.debug.hr/?p=11922</guid>

					<description><![CDATA[<p>Izvor: ELEKS blog Zahvaljujući obećanjima o potencijalnom ubrzanju razvojnih procesa, GitHubov alat Copilot privukao je velik interes programera. Ovaj članak [&#8230;]</p>
<p>Objava <a href="https://www.debug.hr/github-copilot-55-posto-brzi-razvoj-softvera-mit-ili-stvarnost/">GitHub Copilot: 55 posto brži razvoj softvera – mit ili stvarnost?</a> pojavila se prvi puta na <a href="https://www.debug.hr">.debug</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h5><a href="https://eleks.com/blog/github-copilot-review-development-speed/"><strong><em>Izvor: ELEKS blog</em></strong></a></h5>
<p><strong>Zahvaljujući obećanjima o potencijalnom ubrzanju razvojnih procesa, GitHubov alat Copilot privukao je velik interes programera. Ovaj članak donosi osvrt na GitHub Copilot i ocjenu njegova učinka na povećanje brzine razvoja softvera u praksi</strong></p>
<p>Copilot je izazvao buru rasprava već od samog početka, pa su ga tako neki dočekali s entuzijazmom i optimizmom, dok su drugi skeptični i oprezni u pogledu njegova utjecaja na programiranje i ulogu programera u budućnosti. Utjecaj tog alata na razne aspekte <a href="https://eleks.com/services/custom-application-development/">razvoja softvera</a>, od brzine do kvalitete koda i učenja, i dalje je u središtu raznih analiza i rasprava.</p>
<p><em>„Korisnici alata GitHub Copilot brže su rješavali zadatke, a preciznije 55 posto brže od programera koji se nisu služili tim alatom.“</em> – GitHub</p>
<p>Zaintrigirale su nas smjele tvrdnje o povećanju brzine zahvaljujući upotrebi Copilota pa smo se odlučili ispitati učinkovitost alata, osobito u domeni primjene <a href="https://eleks.com/services/ai-development-services/">umjetne inteligencije u razvoju softvera</a>. U potrazi za istinom proveli smo vlastito ispitivanje primjene Copilota u stvarnim projektima. Kako bismo osigurali optimalne rezultate, odabrali smo sljedeći pristup:</p>
<ul>
<li><strong>odabir raznovrsnih projekata – s obzirom na to da smo nastojali obuhvatiti širok spektar primjena u praksi, odabrali smo više projekata s raznolikim tehnološkim stogova (engl. <em>stacks</em>) i arhitekturama</strong></li>
<li><strong>programeri s raznolikim iskustvom – u testiranju su sudjelovali programeri s raznim razinama iskustva i kompetencijama.</strong></li>
</ul>
<p>Glavni je cilj analize sustava GitHub Copilot bio ocijeniti njegov utjecaj na produktivnost u programiranju i utvrditi čimbenike koji utječu na alat, kao i najučinkovitije načine upotrebe alta. Testiranje je trajalo tri mjeseca kako bi se ublažilo sustavno odstupanje u rezultatima tijekom razdoblja u kojem su se programeri navikavali na novi program. Rezultati testiranja prikazani su u nastavku.</p>
<h3><strong>Analiza alata GitHub Copilot: utjecaj na brzinu programiranja</strong></h3>
<p>ELEKS-ov tim nedavno je proveo dubinsku analizu sustava GitHub Copilot radi ocjene njegova učinka na rješavanje programerskih zadataka i trajanje postupaka, kao i ocjene standarda kvalitete preporučenih rješenja. Rezultati analize nalaze se na sljedećoj poveznici: <a href="https://eleks.com/blog/eleks-github-copilot-investigation/">ELEKS-ova analiza sustava GitHub Copilot – ispitivanje potencijala umjetne inteligencije u razvoju softvera</a> (na engleskom jeziku).</p>
<p>Poseban naglasak u istraživanju stavljen je na učinak primjene alata Copilot u različitim vrstama projekata. Ispitali smo i analizirali učinkovitost alata u monolitnim aplikacijama i mikroservisima, kao i u backend i frontend aplikacijama kako bismo utvrdili najučinkovitiji način primjene alata.</p>
<p><em>„Copilot omogućuje od 10 do 15 posto veću produktivnost kod pisanja novog koda.“</em> – ELEKS-ov tim</p>
<p>Općenito govoreći, uočili smo velike fluktuacije u pogledu utjecaja alata Copilot na povećanje brzine programiranja koje su ovisile o više čimbenika. Slijedi pregled glavnih čimbenika koji utječu na učinkovitost alata Copilot.</p>
<ol>
<li><strong> Veličina postojeće baze koda</strong></li>
</ol>
<p><em>„Učinak Copilota na brzinu programiranja razlikuje se ovisno o vrsti projekta i strukturi koda: u monolitnim frontend aplikacijama postigli smo povećanje brzine od približno 20 do 25 posto; brzina je porasla za približno 10 do 15 posto u monolitnim backend aplikacijama, odnosno za približno 5 do 7 posto u backend mikroservisima. – </em><strong>Ihor Mysak</strong>, voditelj odjela za tehnologiju u ELEKS-u</p>
<p>Presuda? Copilot briljira na projektima s velikim bazama koda, gdje pruža podršku programerima s pomoću postojećih predložaka i rješenja. Međutim, nije toliko učinkovit u domeni mikroservisa jer oni barataju malim bazama koda. Stoga zaključujemo da Copilot nije učinkovito rješenje za projekte koji su u začetku i još nemaju dovoljnu količinu programerskih rješenja.</p>
<ol start="2">
<li><strong> Tehnološki <em>stack</em></strong></li>
</ol>
<p>Kod testiranja Copilota na projektima s raznolikim tehnološkim stogovima pokazalo se da kvaliteta rješenja uvelike ovisi o popularnosti primijenjene tehnologije.</p>
<ul>
<li>Zabilježen je značajan porast produktivnosti kod aplikacija izrađenih u sustavu React, ali to nije bio slučaj s već zastarjelim i manje popularnim okvirom Zend.</li>
<li>Projekti koji se temelje na tehnologiji .Net polučili su osrednje rezultate – performanse alata bile su bolje nego kod Zenda, ali slabije nego kod aplikacija temeljenih na Reactu, što upućuje na vezu s relativnom popularnošću i količinom dostupnih materijala u sustavu .Net.</li>
</ul>
<p>Činjenica je da je Copilot treniran na javnim repozitorijima GitHuba, tako da je imao pristup tehnologijama koje su bile popularne među programerima, što vjerojatno objašnjava naše rezultate.</p>
<ol start="3">
<li><strong> Kvaliteta koda u postojećim bazama koda</strong></li>
</ol>
<p>Copilot je davao bolja rješenja ako su varijable i metode imale jasne i logične nazive, pa stoga zaključujemo da kvalitetni nazivi pomažu Copilotu da bolje razumije kontekst koda i tako pruži korisnije i točnije odgovore.</p>
<p>Nejasni ili dvoznačni nazivi varijabla i metoda pružaju manje informacija za Copilotovu analizu, a to negativno utječe na kvalitetu njegovih rješenja u postupku razvoja softvera. Zaključujemo da kodovi s dobrim nazivima ne samo da olakšavaju posao programerima već i poboljšavaju učinkovitost alata na bazi umjetne inteligencije.</p>
<ol start="4">
<li><strong> Vrsta zadatka koju programer obavlja</strong></li>
</ol>
<p>Copilot je učinkovit u određenim područjima, ali isto tako ima svoja ograničenja, pogotovo kad je riječ o pisanju koda koji primjenjuje novu poslovnu logiku.</p>
<p><em>„Copilot piše isključivo kod na temelju upita, ali ne i potpuna rješenja. Copilot je najučinkovitiji za rješavanje jasnih, šablonskih zadataka. Vrijeme koje se utroši na pisanje detaljnog opisa poslovne logike može biti dulje od vremena koje bi bilo potrebno za implementaciju poslovne logike bez Copilota.“ – </em><strong>Ihor Mysak</strong>, voditelj odjela za tehnologiju u ELEKS-u</p>
<p>Copilot je imao dobre rezultate na šablonskim zadacima, ali nije mogao držati korak kad je riječ o novim zamislima i kreativnom programiranju. Poruka je jasna: Copilot je pouzdan alat za rutinske zadatke, ali inovativni projekti zahtijevaju dašak ljudske kreativnosti.</p>
<h4>Ključni savjeti za učinkovitu upotrebu Copilota:</h4>
<ul>
<li>Preciznost je ključna: što je upit (prompt) precizniji i detaljniji, to su veći izgledi da će Copilot dati kvalitetna rješenja.</li>
<li>Sve je u kontekstu: zatvorite nepovezane projekte dok upotrebljavate Copilot kako ga ne biste zbunili. Ako je u integriranom razvojnom okruženju (IDE) otvoreno više projekata, Copilot može pomiješati kontekste pa dati rješenja za projekt A na temelju koda iz projekta B.</li>
<li>Komentari su bitni: ako dodate komentare prije izrade razreda ili metode, dobit ćete bolje rezultate kod automatskog dovršavanja zadataka.</li>
<li>Datoteka u fokusu: Copilot je osjetljiv na otvorene kartice s projektnim datotekama pa je na temelju toga moguće proizvesti uži kontekst.</li>
</ul>
<h3>Iskorištavanje potencijala alata GitHub Copilot: prilagodljivost i neizravni učinak</h3>
<h4>Prilagodljivost okruženjima za konkretan projekt</h4>
<p>Sposobnost alata Copilot da se prilagodi posebnostima projekta jedna je od njegovih najzanimljivijih karakteristika. Copilot će s vremenom „naučiti“ stil programiranja i značajke projekta pa će početi nuditi bolja rješenja.</p>
<p>Iako alat u početku može davati generička i neprecizna rješenja, točnost i relevantnosti rješenja raste što je alat dulje izložen projektu, odnosno na temelju interakcija unutar projekta. To posebno dolazi do izražaja na projektima koji imaju zadan stil koda i velike baze koda na kojima je moguće „istrenirati“ alat. Zahvaljujući svojoj prilagodljivosti, Copilot ne samo da povećava učinkovitost već i pomaže očuvati dosljednost koda unutar projekta.</p>
<p>Programeri ističu i da Copilot ima pozitivan utjecaj na složenost koda, odnosno uočen je pomak prema čitkijim i održivijim rješenjima, osobito među programerima koji su navikli pisati komplicirane i kompleksne strukture koda.</p>
<h4>Bolje automatsko testiranje</h4>
<p>Osim pisanja koda, Copilot isto tako predstavlja koristan alat za automatsko testiranje. Alat može dati predloške i preporuke testnih scenarija pa tako programerima štedi vrijeme i resurse.</p>
<p><em>„Copilot daje od 20 do 30 posto brže rezultate kod pisanja unit testova.“</em> – ELEKS-ov tim</p>
<p>Osobito je pažnje vrijedna sposobnost alata da generira jedinstvene testne slučajeve koji znaju promaći programerima. Softverski proizvod tako prolazi dublju analizu zahvaljujući većem opsegu testiranja.</p>
<p>Zanimljivo je da je kvaliteta Copilotovih testova izravno povezana s kvalitetom i strukturom ispitanog koda. Naši su programeri primijetili da jasni nazivi varijabli i metoda i jasnoća cjelokupne strukture koda značajno pridonose kvaliteti i preciznosti testova koje generira Copilot. Učinkovitost Copilota kod pisanja jediničnih testova stoga ovisi o samom alatu i kvaliteti koda koji se testira.</p>
<p>Zaključak je da je Copilot koristan alat u postupku pisanja jediničnih testova koji pridonosi povećanju ne samo brzine već i kvalitete konačnog proizvoda.</p>
<h4>Neizravan učinak</h4>
<p>GitHub Copilot povećava brzinu pisanja koda i podiže kvalitetu cjelokupnog rada programera. Na temelju povratnih informacija programera jasno je da im je Copilot omogućio da više pažnje posvete kreativnim i zahtjevnim zadacima umjesto da troše vrijeme na rutinske zadatke.</p>
<p>Copilot isto tako predstavlja učinkovito alternativno rješenje za pretraživanje interneta ili dokumentacije jer skraćuje vrijeme koje se troši na prebacivanje između različitih prozora i omogućuje programeru da se usredotoči na trenutačni zadatak. To je korisna mogućnost kad treba brzo pronaći odgovor na pitanje bez odvraćanja pažnje s glavnog zadatka.</p>
<p><em>„Copilot pozitivno utječe na komfor i zadovoljstvo programera. Pojednostavljuje postupak traženja odgovora na razna pitanja i uskače kad nemate priliku potražiti savjet iskusnijeg kolege ili pronaći rješenje na internetu.“ – </em><strong>Olena Hladych</strong>, voditeljica odjela za osiguranje kvalitete u ELEKS-u</p>
<p>Zanimljivo je da smo pronašli vezu između mekih vještina programera i razine zadovoljstva alatom Copilot; programeri koji nisu imali razvijene komunikacijske vještine obično su izrazili manju razinu zadovoljstva alatom, vjerojatno jer im je bilo teže formulirati precizne upite.</p>
<h4>Zaključak</h4>
<p>GitHub Copilot moćan je alat koji značajno povećava produktivnost programera u određenim scenarijima, osobito kod postupaka sastavljanja jediničnih testova i navigacije velikim bazama kodova koje se temelje na popularnim tehnologijama. Međutim, učinkovitost mu opada na zadacima koji zahtijevaju inovativne pristupe ili izradu novih koncepata.</p>
<p>Kad je riječ o tvrdnji da alat osigurava porast produktivnosti od 55 posto, stvarni rezultati bili su nešto gori. Produktivnost timova porasla je u prosjeku za 10 do 15 posto na zadacima koji su podrazumijevali pisanje novog koda. Ipak, važno je naglasiti razne prednosti upotrebe alata. Programeri su općenito ocijenili da je Copilot vrijedan alat koji uvelike povećava brzinu programiranja te je razina zadovoljstva programera alatom bila značajna.</p>
<p>Timovima i programerima preporučujemo da razmisle o upotrebi Copilota, ali da pritom imaju na umu njegova potencijalna ograničenja. Za učinkovitu upotrebu Copilota potrebno je razumjeti da je riječ o pomoćnom alatu, a ne zamjeni za ljudski intelekt i kreativnost. Copilot može unaprijediti produktivnost i zadovoljstvo radom, skratiti vrijeme koje se troši na rutinske zadatke u razvoju softvera, a programerima omogućiti da se usredotoče na kompleksnije i kreativnije zadatke.</p>
<p>Objava <a href="https://www.debug.hr/github-copilot-55-posto-brzi-razvoj-softvera-mit-ili-stvarnost/">GitHub Copilot: 55 posto brži razvoj softvera – mit ili stvarnost?</a> pojavila se prvi puta na <a href="https://www.debug.hr">.debug</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>VIDEO: Predstavljamo ELEKS, novog partnera .debuga</title>
		<link>https://www.debug.hr/video-predstavljamo-eleks-novog-partnera-debuga/</link>
		
		<dc:creator><![CDATA[Sandro Vrbanus]]></dc:creator>
		<pubDate>Mon, 13 May 2024 09:05:27 +0000</pubDate>
				<category><![CDATA[Programiranje]]></category>
		<category><![CDATA[eleks]]></category>
		<guid isPermaLink="false">https://www.debug.hr/?p=11925</guid>

					<description><![CDATA[<p>U seriji razgovora u .debug TV studiju najavljujemo nastupe partnerskih kompanija na .debugu 2024. Predstavljamo tvrtku ELEKS, gost je Marko [&#8230;]</p>
<p>Objava <a href="https://www.debug.hr/video-predstavljamo-eleks-novog-partnera-debuga/">VIDEO: Predstavljamo ELEKS, novog partnera .debuga</a> pojavila se prvi puta na <a href="https://www.debug.hr">.debug</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>U seriji razgovora u .debug TV studiju najavljujemo nastupe partnerskih kompanija na .debugu 2024. Predstavljamo tvrtku ELEKS, gost je Marko Modrušan, Voditelj regionalnog ureda</strong></p>
<p>Približava nam se .debug, developerski događaj godine, na kojem će se predstaviti 50-ak najboljih domaćih i regionalnih IT kompanija sa svojim izlagačkim boothovima i zanimljivim predavanjima. Jedna od njih je i ELEKS, tvrtka koja ove godine prvi put sudjeluje na našoj konferenciji.</p>
<p>Tko je ELEKS, čime se bave, koliko dugo postoje u Hrvatskoj, koje industrije pokrivaju i na kojim tehnologijama rade, u .debug TV studiju ispričao nam je <a href="https://www.linkedin.com/in/marko-modrusan-84bbb862/">Marko Modrušan</a>, njihov voditelj regionalnog ureda. Osim toga, najavio je i premijerni nastup njihove tvrtke na .debugu 2024, a sve detalje doznajte u videu.</p>
<p>Ulaznice su još uvijek dostupne, osigurajte si mjesto na vrijeme!</p>
<p style="text-align: center;"><style type="text/css"> .magee-btn-normal,.magee-btn-normal:hover{text-decoration:none !important;}a.button-6a7e2d0fe1d50,a.button-6a7e2d0fe1d50:hover{color:#ffffff;}a.button-6a7e2d0fe1d50 {color: #ffffff !important;border-color: #ffffff !important;}a.button-6a7e2d0fe1d50 {background-color:#522f91 !important;}a.button-6a7e2d0fe1d50:active,
			a.button-6a7e2d0fe1d50:hover,
			a.button-6a7e2d0fe1d50:focus
			{background-color:#4a2a83 !important;}</style><a href="https://www.entrio.hr/event/debug-2024-17761" target="_blank" style="" class=" magee-btn-normal button-6a7e2d0fe1d50 btn-lg" id=""><i class="fa fa-shopping-cart "></i>  Kupi ulaznicu</a>

<style type="text/css" scoped="scoped">.divider-6a7e2d0fe1d8b{ margin-top: 10px;margin-bottom:10px;width:100%;}.divider-6a7e2d0fe1d8b .divider-border{border-bottom-width:0px; border-color:#f2f2f2;}.divider-6a7e2d0fe1d8b .double-line.divider-inner-item .divider-inner{border-top-width: 0px; border-bottom-width: 0px;}.divider-6a7e2d0fe1d8b .divider-border.divider-inner-item .divider-inner{ border-bottom-width: 0px;} </style><div class=" divider divider-6a7e2d0fe1d8b divider-border" id="" style="margin-top:; margin-bottom:;"><div class="divider-inner divider-border"></div></div>

<div id="" class=" row">
<div class=" col-md-3" id="" style="text-align:center;"><style type="text/css">
		                          
                                    .heading-6a7e2d0fe1e18.magee-heading{
                                        font-size:28px;
                                        font-weight:400;
                                        margin-top:0px;
                                        margin-bottom:10px;
                                        color: ;
                                        border-color: ;
                                        text-align: center;
                                    }
                                    .heading-6a7e2d0fe1e18.heading-border .heading-inner {
                                        border-width: 5px;
                                    }
								.heading-6a7e2d0fe1e18.heading-doubleline .heading-inner:before,
								.heading-6a7e2d0fe1e18.heading-doubleline .heading-inner:after {
									    border-color: ;
									    border-width: 5px;
									}
                                </style><h1 class="magee-heading heading-border  heading-6a7e2d0fe1e18" id="" data-fontsize="28px" data-responsive="no"><span class="heading-inner">250 €</span></h1>Ulaznica</div>
<div class=" col-md-3" id="" style="text-align:center;"><style type="text/css">
		                          
                                    .heading-6a7e2d0fe1e4d.magee-heading{
                                        font-size:28px;
                                        font-weight:400;
                                        margin-top:0px;
                                        margin-bottom:10px;
                                        color: ;
                                        border-color: ;
                                        text-align: center;
                                    }
                                    .heading-6a7e2d0fe1e4d.heading-border .heading-inner {
                                        border-width: 5px;
                                    }
								.heading-6a7e2d0fe1e4d.heading-doubleline .heading-inner:before,
								.heading-6a7e2d0fe1e4d.heading-doubleline .heading-inner:after {
									    border-color: ;
									    border-width: 5px;
									}
                                </style><h1 class="magee-heading heading-border  heading-6a7e2d0fe1e4d" id="" data-fontsize="28px" data-responsive="no"><span class="heading-inner">50 €</span></h1>Studentska ulaznica</div>
<div class=" col-md-3" id="" style="text-align:center;"><style type="text/css">
		                          
                                    .heading-6a7e2d0fe1e8b.magee-heading{
                                        font-size:28px;
                                        font-weight:400;
                                        margin-top:0px;
                                        margin-bottom:10px;
                                        color: ;
                                        border-color: ;
                                        text-align: center;
                                    }
                                    .heading-6a7e2d0fe1e8b.heading-border .heading-inner {
                                        border-width: 5px;
                                    }
								.heading-6a7e2d0fe1e8b.heading-doubleline .heading-inner:before,
								.heading-6a7e2d0fe1e8b.heading-doubleline .heading-inner:after {
									    border-color: ;
									    border-width: 5px;
									}
                                </style><h1 class="magee-heading heading-border  heading-6a7e2d0fe1e8b" id="" data-fontsize="28px" data-responsive="no"><span class="heading-inner">100 €</span></h1>Online ulaznica</div>
<div class=" col-md-3" id="" style="text-align:center;"><style type="text/css">
		                          
                                    .heading-6a7e2d0fe1eb8.magee-heading{
                                        font-size:28px;
                                        font-weight:400;
                                        margin-top:0px;
                                        margin-bottom:10px;
                                        color: ;
                                        border-color: ;
                                        text-align: center;
                                    }
                                    .heading-6a7e2d0fe1eb8.heading-border .heading-inner {
                                        border-width: 5px;
                                    }
								.heading-6a7e2d0fe1eb8.heading-doubleline .heading-inner:before,
								.heading-6a7e2d0fe1eb8.heading-doubleline .heading-inner:after {
									    border-color: ;
									    border-width: 5px;
									}
                                </style><h1 class="magee-heading heading-border  heading-6a7e2d0fe1eb8" id="" data-fontsize="28px" data-responsive="no"><span class="heading-inner">30 €</span></h1>Studentska online ulaznica</div>
</div>
<div class="arve" data-mode="normal" data-oembed="1" data-provider="youtube" id="arve-youtube-kafztqhr2mu6a7e2d0fe08db619429523" style="max-width:1120px;">
<span class="arve-inner"><br />
<span class="arve-embed arve-embed--has-aspect-ratio"><br />
<span class="arve-ar" style="padding-top:56.250000%"></span><iframe loading="lazy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen class="arve-iframe fitvidsignore" data-arve="arve-youtube-kafztqhr2mu6a7e2d0fe08db619429523" data-src-no-ap="https://www.youtube-nocookie.com/embed/kAFztqhr2MU?feature=oembed&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;autohide=1&amp;playsinline=0&amp;autoplay=0" frameborder="0" height="630" sandbox="allow-scripts allow-same-origin allow-presentation allow-popups allow-popups-to-escape-sandbox" scrolling="no" src="https://www.youtube-nocookie.com/embed/kAFztqhr2MU?feature=oembed&#038;iv_load_policy=3&#038;modestbranding=1&#038;rel=0&#038;autohide=1&#038;playsinline=0&#038;autoplay=0" width="1120"></iframe></p>
<p></span></p>
<p></span><br />
<script type="application/ld+json">{"@context":"http:\/\/schema.org\/","@id":"https:\/\/www.debug.hr\/video-predstavljamo-eleks-novog-partnera-debuga\/#arve-youtube-kafztqhr2mu6a7e2d0fe08db619429523","type":"VideoObject","embedURL":"https:\/\/www.youtube-nocookie.com\/embed\/kAFztqhr2MU?feature=oembed&iv_load_policy=3&modestbranding=1&rel=0&autohide=1&playsinline=0&autoplay=0"}</script>
</div>
<p>Objava <a href="https://www.debug.hr/video-predstavljamo-eleks-novog-partnera-debuga/">VIDEO: Predstavljamo ELEKS, novog partnera .debuga</a> pojavila se prvi puta na <a href="https://www.debug.hr">.debug</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
