Blog

Blog je mesto gde možeš da čitaš o navikama IT-evaca, najavama IT dešavanja, aktuelnostima na tržištu, savetima i cakama kako da uspeš na ovom dinamičnom polju.

25.04.2024. ·
5 min

U Srbiji se u 2024. otvara čak 500 novih radnih mesta u gejmingu

Gejming industrija u Srbiji protekle godine doživela je najveći skok zaposlenih do sada. Za godinu dana broj profesionalaca koji učestvuju u stvaranju video igara gotovo je udvostručen. Prema novom izveštaju Asocijacije industrije video igara Srbije (SGA), u domaćem gejmingu ukupan broj zaposlenih dostigao je 4.300! A u toku 2024. godine biće otvoreno oko čak 500 novih radnih mesta! Najrealnije objašnjenje otkud toliki upliv zaposlenih u ovu kreativnu industriju je, kako u Asocijaciji smatraju, dolazak u Srbiju velikog broja gejming kompanija iz Rusije, Belorusije i Ukrajine. Čak 48 odsto ukupnog broja trenutno zaposlenih u ovoj industriji, čine stranci, koji su izmestili svoje firme u našu zemlju. - Neke od vodećih globalnih kompanija, poput Wargaming-a, Playrix-a i Sperasoft-a, sada imaju svoja najveća predstavništva upravo u Srbiji, pa se očekuje da će ovakav upliv znanja i iskustva značajno uticati na domaće tržište video igara. Gejming industrija nijedne druge države do sada nije doživela da skok zaposlenih bude 98% - kaže Mihajlo Jovanović - Džaril, direktor Asocijacije industrije video igara Srbije i dodaje da od 2017. godine do danas domaća gejming industrija beleži kontinuiran rast i razvoj. - To je naročito značajno imajući u vidu da je 2023. godinu obeležila globalna nestabilnost u mnogim industrijama, pa tako i u gejmingu. Srbija je na sreću ostala izuzetak kada je reč o većim gašenjima studija ili projekata - podvlači Džaril za HelloWorld.rs. Mihailo Vesović, direktor Sektora za strateške analize, usluge i internacionalizaciju u Privrednoj komori Srbije ističe da je u 2023. godini 15 najuspešnijih gejming kompanija prihodovalo 175 miliona evra, da 57% kompanija razvija originalne proizvode, kao i da su igre proizvedene u Srbiji kupljene ili preuzete više od 100 miliona puta. Povezivanje ruskih gejmera sa domaćom scenom Mihajlo Džaril dodaje za HelloWorld.rs da većina rasta proizilazi iz činjenice da su Srbija i čitava gejming industrija doživele nezapamćen priliv talenata i novih kompanija na tržištu. Kako kaže, međutim, srpski gejmig se suočava sad i sa izazovom integracije ovih novih ljudi i preduzeća sa postojećom zajednicom. Veruje da će iz ovolikog priliva znanja i iskustva proizaći veliki projekti ove godine. Kristina Janković Obućina, izvršna menadžerka SGA, naglašava da je, za razliku od IT sektora gde se beleži prilično sporo povezivanje ruske i domaće zajednice, u gejmingu to mnogo bolje. - Prijatno nas je iznenadilo kada su nas odmah po dolasku u Srbiju kontaktirali. Izazov za ovu godinu biće upravo projekti koji će služiti za ove konekcije. Za sada je veliki problem jezička barijera. Mali broj ruskih IT-jevaca govori engleski. Sa druge strane, nemamo dovoljno programa edukacije ni na engleskom jeziku, a gotovo polovina u gejmingu su stranci, pa ćemo raditi i na tome. To je zapravo najvažniji zadatak za ovu godinu - kaže za Helloworld.rs Obućina. Prema njenim rečima, top tri zemlje iz kojih dolaze stranci zaposleni u srpskoj gejming sceni su Rusija, Belorusija i Hrvatska, naglašavajući da i sve veći broj naših “komšija” prebacuje poslovanje u Srbiju. Više od pola kompanija planira da proširi svoje timove Kako je godišnja analiza Asocijacije industrije video igara Srbije (SGA) saopštila, više od polovine kompanija u ovoj branši planira da u toku 2024. godine proširi svoje timove. Ove godine biće potrebe za 475 novih radnih pozicija. - Top tri oblasti po broju zaposlenih u industriji su programiranje, umetnička zanimanja poput 2D art, 3D art, ilustratora, animatora, kai i kontrola kvaliteta. Najviše nas raduje što u industriji koja se percipira kao muška radi čak 28% žena, a na čelu čak polovine svih timova su takođe žene, što je trend koji opstaje godinama unazad - naglasila je predsednica Upravnog odbora SGA Marija Ilić, a Kristina Obućina dodaje da će osim umetničkih i pre svega liderskih funckija, velika potražnja biti za pozicijama u marketingu, menadžmentu kao i za i “lovcima” na nove korisnike igara. Nažalost, u prvoj polovini godine neće biti potražnje za juniorskim poslovima, iako će trećina kompanija nastaviti da prima mlade na praksu, a petina i na plaćene obuke. U prvom delu godine zapošljavaće se pre svega mediori i seniori, vođe timova. Biće otvorene art lid pozicije, develop lid pozicije i sve ostale koje podrazumevaju visok stepen znanja i iskustva. Velika potreba se javlja za poslovima koji nisu usko vezani za gejming, već za biznis kao takav. Pozicije koje je najteže popuniti, a koje će biti veoma tražene su upravo stručnjaci za marketing koji će uspevati da privuku što više korisnika besplatnih mobilnih igara - ističe Kristina Obućina. Kako naša sagovornica objašnjava, sistem obrazovanja ne prati potrebe tržišta, pa su i dalje veoma aktuelne prekvalifikacije. Jedan od faktora koji usporava otvaranje više programa za studije gejminga su i stroge propozicije za predavače, pa je samim tim mali broj stručnjaka koji bi ispunili uslove da budu profesori na nekim novim katedrama za gejming. Novina u odnosu na 2022. godinu je, kako naša sagovornica kaže, i što su se osim Beograda kao glavni razvojni centri probudili i Novi Sad i Niš. Iz njihovih “kuhinja” je prošle godine izašlo 30 novih igara, a trenutno se razvija još 81 nova. Raste prihod po zaposlenom Podaci sugerišu da je prosečni prihod po zaposlenom porastao za 18% kod gejming kompanija koje su uspele da premaše prag od 40 zaposlenih. U 2023. godini, prihod je porastao za 17 procenata u poređenju sa prethodnom godinom za prvih 15 kompanija. Ipak, ovaj rast se većinom pripisuje internacionalnim kompanijama, posebno dolasku nekoliko novih, koje su premestile značajan broj svojih zaposlenih u Srbiju. Što se izazova tiče, akteri domaćeg gejminga su najčešće isticali nedostatak finansijskih mogućnosti, visoke poreze i složene birokratske procedure. Uprkos ovim preprekama, većina kompanija i studija nastavlja da ostvaruje uspeh kroz direktnu prodaju.

HelloWorld
0
24.04.2024. ·
6 min

Koje beneficije baš znače u IT-ju?

Tehnologija igra ključnu ulogu u gotovo svakoj industriji, pa su IT stručnjaci u mogućnosti da ostvare uticaj i u drugim industrijama, a takva pozicija im svakako donosi i dobre benefite. Za one koji, možda, tek planiraju da svoju karijeru izgrade u IT sektoru, pokušaćemo da se osvrnemo na neke ključne benefite, na koje bi mogli da računaju. Ipak, treba naglasiti da vredne beneficije mogu značajno varirati u zavisnosti od kompanije, lokacije, nivoa iskustva i specifičnih potreba zaposlenih. U ovom našem malom istraživanju, pomoć smo potražili od Đorđa Jevtića, Konsultanta za poslovnu analizu i projekte u okviru Omnichannel Tribe-a u OTP banci i Ognjena Popovića, regionalnog direktora i software developera u kompaniji Infrakit, koja se bavi proizvodnjom namenskog softvera, koji ima primenu u niskogradnji. Našim sagovornicima fleksibilno radno vreme predstavlja najznačajniju pogodnost. Većina IT kompanija shvata važnost ravnoteže između poslovnog i privatnog života, te omogućavaju rad od kuće, fleksibilno radno vreme ili čak rad na daljinu. To za zaposlene znači da mogu da prilagode svoj radni raspored prema svojim potrebama i obavezama. Takođe, nije redak slučaj da zaposleni mogu da ostanu duže tokom jednog radnog dana, kako bi bili slobodni nekog drugog dana. „Dolazim na posao u periodu od 08-10h i u skladu sa tim, radim do 16-18h (osmočasovno radno vreme). Izuzetno sam zadovoljan radnim vremenom. Ukoliko imam privatne obaveze koje treba da završim pre ili posle posla, imam prostor za dobru organizaciju. Ova pogodnost mi definitivno najviše znači. Vikendom se ne radi a to mi je posebno važno jer imam dvoje male dece. Važeći hibridni model u našoj banci je do 50% radnog vremena za rad od kuće”,  za HelloWorld.rs kaže Đorđe. „Kod nas je radno vreme fleksibilno i nikada sa tim nismo imali problema. Može da se radi i od kuce i iz kancelarije, na prelepoj lokaciji. To je jedan od najvećih benefita i omogućava mi odličan balans između posla i privatnog života. Na raspolaganju imamo bazen, teratanu, privatnu baštu i dovoljno parking mesta. Doduše, u kancelariji u Beogradu nas nema mnogo pa je bilo lakše sve to i ostvariti“, dodaje Ognjen. IT sektor je poznat po konkurentnim platama, koje daleko prevazilaze prosek. To je delimično tako zbog visoke tražnje za kvalifikovanim IT stručnjacima i relativno ograničene ponude na tržištu rada. Plata u IT sektoru obično raste sa napredovanjem karijere i sticanjem dodatnih veština i sertifikata. „Naše plate nisu baš na nivou najvećih kompanija, ali s obzirom na sve, veoma su konkurentne, plus imamo i akcije firme i ciljeve za koje, kada ih ostvarimo, dobijamo bonus“, poručuje Ognjen. Što se Đorđa tiče i on je zadovoljan platom, te napominje, da pored godišnjih bonusa i privatne penzione štednje (gde njegova firma pokriva deo uplate penzionom fondu), ima na raspolaganju i određeni budžet na „House of Benefits“ platformi. Izuzetna mogućnost za profesionalni razvoj Kompanije često nude obuke, seminare i prilike za sticanje novih veština ili sertifikata, što omogućava zaposlenima da napreduju u svojoj karijeri. Osim finansijske podrške za pohađanje kurseva ili konferencija, kompanije mogu ponuditi i interne programe obuke, mentorske programe ili pristup resursima za „online“ učenje kako bi zaposleni mogli stalno da unapređuju svoje veštine i znanje. IT industrija je poznata po svojoj dinamičnosti i inovacijama, pa zaposlenima često nudi priliku da rade na uzbudljivim projektima koji im omogućavaju da razvijaju svoje veštine i stiču dragoceno iskustvo. Ukoliko budete imali sreće da radite u kompaniji koja podržava rad sa najnovijim tehnologijama, može vam biti osiguran pristup licenciranim alatima i softveru, kao i mogućnost da radite na inovativnim projektima koji koriste „cutting-edge“ tehnologije. Velike IT kompanije često imaju timove i kancelarije širom sveta, što omogućava zaposlenima da rade u internacionalnom okruženju i steknu iskustvo rada sa kolegama iz različitih kultura. „Kod nas u banci se velika pažnja posvećuje ulaganju u razvoj zaposlenih, te su interne i eksterne obuke i kursevi veoma česta pojava. Sa te strane sam prezadovoljan, jer imam odličnu priliku za individualni napredak. Samo u prošloj godini sam prošao nekoliko praktičnih obuka koje su vrlo primenjive u svakodonevnom radu i vezane su za neophodnu ekspertizu u okviru mog radnog mesta. Neke od njih su: Prodajna - Business Analysis Training, Project Menagement Akademija, obuka o agilnoj transformaciji tradicionalno organizovanih organizacija itd. Ono što bih u budućnosti voleo da mi banka obezbedi je i nalog na „Udemy“ platformi”, kroz osmeh kaže Đorđe. Ognjen napominje da i oni po potrebi imaju plaćene kurseve i licence, a redovno im se plaća Copilot i ChatGPT i dodaje da što se tiče novca za gorivo i slično, to nemaju u Beogradu, ali su im pokriveni troškovi ako se ide poslovno van zemlje ili na team building. „Obišao sam neke izuzetno lepe i destinacije, zahvaljujući kompaniji u kojoj radim, bez dileme. Pošto su naši vlasnici iz Finske, imao sam priliku i zadovoljstvo da odem i tamo i da se susretnem sa njihovom kulturom i mentalitetom.“ Zdravlje na prvom mestu Benefiti vezani za zdravstveno osiguranje su nešto po čemu je IT sektor postao posebno poznat. Kompanije su svesne da zaposleni, uglavnom, provode dugo vremena u sedećem položaju ispred računara, pa će vam tako, pored osnovnog zdravstvenog osiguranja, vrlo često biti na raspolaganju i stomatološko osiguranje i psihološko savetovalište. Naši sagovornici su zadovoljni sa svojim paketima privatnog zdravstvenog osiguranja, uz nadu da ih neće koristiti često, kao što nisu ni do sad. Kompanije koje promovišu pozitivno radno okruženje mogu ponuditi različite inicijative kao što su timski izleti, tematski događaji, ili interni programi priznanja i nagrada kako bi ojačale timsku atmosferu i motivaciju zaposlenih. Đorđe, koji je zaljubljenik u sport, je veoma zadovoljan što mu poslodavac pokriva troškove učešća na raznim sportskim manifestacijama kao što su „Business run“ ili maraton, a takođe banka organizuje OTP All Star sportski dan za sve zaposlene u banci. To je prilika da se učestvuje u sportskim aktivnostima sa ozbiljnim takmičarskim karakterom, ali i da se neguje timski duh i uživa u druženju. „Naš tim se nije previše menjao, iako je u današanje vreme postala praksa da programeri idu iz jedne u drugu firmu posle godinu-dve, i to je nešto što dodatno doprinosi našem timskom duhu. Družimo se i van radnog vremena i taj timski momenat i zajedništvo je svakako nešto što ima pozitivan uticaj na rezultate koje postižemo“, dodaje Ognjen. Ako na sve ovo dodamo i „porodične“ benefite koji obuhvataju plaćeno porodiljsko odsustvo i očinski dopust, pristup vrtićima ili popust na dečje vrtiće, fleksibilne opcije rada za roditelje, kao i podršku za brigu o starijim članovima porodice, jasno je da sve ove pogodnosti zajedno mogu igrati ključnu ulogu u privlačenju i zadržavanju kvalifikovanih IT profesionalaca na konkurentnom tržištu rada, istovremeno gradeći pozitivnu reputaciju same kompanije.

HelloWorld
1
22.04.2024. ·
1 min

Python veštine postaju sve važnije developerima koji ulaze u napredni AI

Status Pythona kao glavnog programerskog jezika za AI i projekte mašinskog učenja, od njegovih obimnih mogućnosti obrade podataka do fleksibilnosti i prenosivosti, potpuno je opravdan. A, koliko tačno je to opravdano može se videti u novim korisničkim podacima iz Snowflake-a. Provajder podataka u oblaku izvestio je da je, iz godine u godinu, upotreba Pythona porasla za 571% u Snowpark-u, skupu biblioteka Snowflake-a koje sigurno implementiraju i procesuiraju ne-SQL kod. Drugim rečima, neće biti iznenađenje videti Python, Scalа i Java programske jezike na vrhu ove liste, ali su brojevi ono što čini stvar interesantnom: Scala je videla porast od 387%, u poređenju sa Javom koja je imala rast od 131%. Pored toga, izveštaj je primetio da je korišćenje najpopularnijih otvorenih Python biblioteka za AI/ML u Snowpark-u poraslo za 335%. Scikit-learn je zabeležio porast od 474%, dok je XGBoost zabeležio porast od 357%. Iz perspektive Snowflake-a, kompanija je istakla da porast nije samo rezultat premeštanja postojećih radova na njihovu platformu, već neto povećanje eksperimentisanja sa naprednim AI. Istraživanje je takođe otkrilo da preduzeća sve više dobijaju vrednost iz svojih nestrukturiranih podataka; povećanje od 123% u analizi korisnika tokom šest meseci. Snowflake je takođe istražio kako zajednica developera u Streamlit-u koristi velike jezičke modele (LLM). Od aprila do januara, kompanija je primetila da je 20.076 developera radilo na 33.143 aplikacije pokrenute LLM-om, uključujući i one aplikacije koje su još u razvoju. Skoro dve trećine (65%) od 1.500 ispitanika u anketi reklo je da su to bili poslovni projekti. Među najvećim brigama developera pri radu sa LLM-ovima, na osnovu ankete od 980 korisnika, bile su poverenje, navedeno od 36% ispitanika, privatnost (28%), troškovi (19%) i mogućnost učenja potrebnih veština (17%).

19.04.2024. ·
3 min

Da li u AI eri developeri i dalje moraju da uče programske jezike?

Ako kreirate i razvijate softver i želite da znate koji su najpopularniji ili najplaćeniji programski jezici u industriji, na raspolaganju imate nepresušne izvore koji će vam pružiti odgovor, a svaki savet koji se tiče posla developera istog trenutka će vam preporučiti da je konstantno usavršavanje ključna stvar. Međutim, ukoliko je AI u stanju da stvori kod od svega nekoliko promptova, da li je učenje i usavršavanje programskih jezika upravo postalo stvar prošlosti? Sudeći po izvršnom direktoru kompaniije Nvidia, Džensenu Huangu, definitivno. Huang smatra da buduće generacije neće morati da uopšte uče programske jezike. „Naš posao jeste stvaranje kompjuterske tehnologije koju niko ne mora da programira, a sam programski jezik je ljudski. Svako na svetu trenutno može da bude programer. Po prvi put u istoriji čovečanstva sada možete da zamislite da je svako u kompaniji tehnološki stručan“, izjavio je Huang. Zajedno sa veštačkom inteligencijom, budućnost koju Huang vidi potpomognuta je širenjem alata koji zahtevaju jako malo kodiranja, ili ono uopšte nije potrebno i koje ne koriste samo osobe koje nisu developeri. Istraživanje koje je sproveo Forrester, pokazalo je da 87% komercijalnih developera koristi platfrome za development sa malo kodiranja. Ipak, ovo predviđanje treba uzeti sa rezervom. Kompanija Nvidia ima svoj interes u održavanju AI “hajp mašine” u punom gasu, ali je programiranje opstajalo decenijama, uprkos raznim procesima automatizacije koji su se pojavljivali. Zapravo, generatori koda su razvijani od samog početka kompjuterske nauke. Otvaranje puta za generativni AI Alati koji koriste prediktivne modele bazirane na neuronskim mrežama pojavili su se početkom 90-ih godina kako bi detektovali probleme u kodu korišćenjem prepoznavanja šablona. Nakon toga, dolaze generativni AI modeli koje imamo i danas – od ChatGPT-ja do GitHubovog Copilota, i svega između. Kako generativni AI modeli počinju da probijaju svoj put ka procesu razvijanja softvera, i dalje je važno da developeri budu u toku sa ovim novim trendovima i tehnologijama. Ako AI ima ulogu asistenta, onda bi svakako značilo da developer mora da bude stručniji u ovom paru. Kako biste briljirali u budućnosti softverskog developmenta, morate da znate više nego botovi. Sve više novih istraživanja fokusira se na uticaj koji će AI imati na obrazovanje. Primera radi, instruktori kompjuterskog kursa na Harvardu eksperimentisali su sa virtuelnim AI asistentom za programiranje pazeći da studentima ne izbacuje samo odgovore na pitanja, već i da ih vodi ka odgovoru koji sami moraju da otkriju, baš onako kako bi to radio bilo koji profesor. Ako se AI tehologiji samo okrećete zbog odgovora, nikada nećete naučiti bitne procese i razviti osnov za razumevanje kodiranja. Istraživanja koja je sproveo GitHub, u vezi sa tim kako developeri koriste njegove Copilot alate otkrila su da u proseku zadatak može biti finalizovan 55% brže kada developer ima pomoć AI. Ovo ušteđeno vreme može pružiti developerima priliku da se posvete novim jezicima kako bi proširili svoje znanje, umesto da ga ograničavaju. Naravno, potrebno je naučiti i nove veštine za razvoj softvera uz pomoć veštačke inteligencije. Prompt inženjerstvo, primera radi, može značajno unaprediti komunikacione veštine developera. Ukoliko ste u stanju da kreirate jasne i direktne instrukcije koje će biti upućene AI asistentu, zauzvrat ćete naučiti kako da komunicirate i sa kolegama. Developeri će takođe morati da sprovode revizije koda, a to će svakako biti drugačije od proveravanja koda kolega. AI generisan kod će vrlo verovatno imati manje predvidive greške, i samim tim će provera koda morati da bude detaljnija. Ukratko, developeri ne bi trebalo da se plaše osoba koje nisu stručni koderi i zapravo mogu da imaju brojne prednosti od prečica koje novi alati kreiraju. Kodiranje već godinama teži da postane pristupačnije, i dovoljno je samo da pogledamo popularnosti korisnički lakših jezika kao što je Python. Ipak, uz AI pomagača, developeri možda više neće morati da pamte sintakse i strukture, ali će i dalje morati da ih razumeju.  

17.04.2024. ·
5 min

Node.js Lambda Package Optimization: Decrease Size and Increase Performance Using ES Modules

This article explains how to optimize Node.js AWS Lambda functions packaged in ES module format. It also shows an example with bundling and AWS CDK, as well as results for gained performance improvement. Node.js has two formats for organizing and packaging the code: CommonJS (CJS) — legacy, slower, larger, and ES modules (ESM) — modern, faster, smaller. CJS is still a default module system, and sometimes the only supported option for some tools. Let’s say you have a Node.js project, but you haven’t bothered with this before. You may now ask yourself — in which format is my code packaged? Let’s look at some JavaScript code examples: In JavaScript, it is clear by just looking into the code. But in TypeScript, you may find yourself writing code in ESM syntax, but using CJS in runtime! This happens if TypeScript compiler is configured to produce CommonJS output format. Compiler settings can be adjusted in tsconfig.json file and we will show how to avoid CJS output with an example later. There are two ways for Node.js to determine package format. The first way is to look up for the nearest package.json file and its type property. We can set it to module if we want to treat all .js files in the project as ES modules. We can also omit type property or put it to commonjs, if we want to have code packaged in CommonJS format. The second way to configure this is using file extensions. Files ending with .mjs (for ES modules) or .cjs (for CommonJS) will override package.json type and force the specified format. Files ending with just .js will inherit chosen package format. ES modules So how exactly can ESM help us improve Lambda performance? ES modules support features like static code analysis and tree shaking, which means it’s possible to optimize code before the runtime. This can help to eliminate dead code and remove not needed dependencies, which reduces the package size. You can benefit from this in terms of cold start latency. Function size impacts the time needed to load the Lambda, so we want to reduce it as much as possible. Lambda functions support ES modules from Node.js 14.x runtime. Example Let’s take one simple TypeScript project as an example, to show what we need to configure to declare a project as an ES module. We will add just couple of dependencies including aws-sdk for DynamoDB, Logger from Lambda Powertools and Lambda type definitions. The type field in package.json defines the package format for Node.js. We are using module value to target ES modules. The module property in tsconfig.json sets the output format for TypeScript compiler. In this case, ES2022 value says that we are compiling our code to one of the versions of ES modules for JavaScript. You can find additional info for compiler settings on https://www.typescriptlang.org/tsconfig. Bundling To simplify deploy and runtime process, you can use a tool called bundler to combine your application code and dependencies into a single JavaScript file. This procedure is used in frontend applications and browsers, but it’s handy for Lambda as well. Bundlers are also able to use previously mentioned ES modules features, which is the reason why they are important part of this optimization. Some of the popular ones are: esbuild, webpack, rollup, etc. AWS CDK If you’re using CDK to create your cloud infrastructure, good news is that built-in NodejsFunction construct uses esbuild under the hood. It also allows you to configure bundler properties, so you can parametrize the process for your needs. With these settings, bundler will prioritize ES module version of dependencies over CommonJS. But not all 3rd party libraries have a support for ES modules, so in those cases we must use their CommonJS version. ➤ What’s important to mention is that if you have an existing CommonJS project, you can keep it as is and still make use of this improvement. The only thing you need to add is mainFields property in CDK bundling section, which will set the format order when resolving a package. This might help you if you have some troubles switching the project completely over to ES modules. Let’s use a simple function that connects to DynamoDB as an example. Its job is just to read a record from a database. We will create two Lambda functions with this same code. One using the CDK example above, and the other one using the same CDK but without ESM bundling properties. It is just to have separate functions in CommonJS and ES modules so it’s easier to compare them. Here is a bundling output during CDK deploy with esbuild: You can see that ESM version of the function has package size reduced by almost 50%! Source maps file (.map) is also smaller now. esbuild provides a page for visualizing the contents of your bundle through several charts, which helps you understand what your package consists of. It is available here: https://esbuild.github.io/analyze. Here is how it looks like for our test functions: In this case, CommonJS package is improved by bundler only by minifying the code, which got it down to 500kb. Packages under @aws-sdk take up more than half of the package. But with using ES module — first approach when bundling, the package size goes down even further. As you can see, there is still some code in CJS format as some dependencies are only available as CommonJS. Performance results Let’s see now how much improvement is made by comparing cold start latency between ES module and CommonJS version of the function. Small load test with up to 10 concurrent users was executed to obtain the metrics. Below are visualized results using CloudWatch Logs Insights. CommonJS ES modules Numbers above are in milliseconds, so in average we reduced cold start duration by 50+ms, or 17%. Bigger difference is for minimum latency, which was shorter for almost 70ms, or 26%. These are not drastic differences, but from my experience with real-world projects — package size can go down like 10x, and cold start latency by even 300–400ms. Conclusion The improvement from using ES modules can be seen even in the simple example above. How much you can lower cold start latency depends on how big your function is and if it needs a lot of dependencies to do its job. But that’s the way it should be, right? For example, for simple functions that just send a message to SQS/SNS and similar, we don’t need dependencies from the rest of the app — like database or Redis client, which might be heavy. And sometimes shared code ends up all over the place. Even if the improvement in your case is not that big, it still might be worth considering using ESM. Just be aware, some tools and frameworks still have bad or no support for ESM. In the end, why would you want to pack and deploy the code you won’t use, anyway? 😄 Author: Marko Jevtović Software Developer @Levi9Serbia

15.04.2024. ·
7 min

Prava i dužnosti autora: Vodič kroz zakonsku zaštitu intelektualne svojine

U moderno doba u kojem živimo autorsko pravo, kao deo korpusa prava intelektualne svojine, svojevrsna je roba kojom se može trgovati, odnosno na autorskim pravima se zarađuje. Nije potrebno posebno napominjati šta ona znače u muzici, filmu ili programiranju. Bez zaštite autorskog prava verovanto ne bi bilo ni autora u ovolikom broju, a mnoge grane industrije ne bi postojale u današnjem obimu. Ukoliko izuzmemo večna nadahnuća stvaralaštva, ideja je da autor može da uživa plodove svog rada, bili oni komercijalni ili ne. Ne treba posebno pominjati, ali autor nije isto što i umetnik. Umetnost je subjektivna kategorija, a autorstvo – zakonska. Zakon ne zanima da li je delo umetničko ili nije. Takođe, zakon pokriva široke oblasti i danas nekome arhaične pojmove, međutim apsolutno je primenjiv za sve oblike digitalnog stvaralaštva. U prošlom delu smo razjasnili ko može biti autor autorskog dela, dakle samo čovek. Vreme je da se upoznamo o delu kao takvom i koja prava proističu iz njega. Delo prvo mora da nastane i da se objavi Kako bi autorsko delo bilo podobno za autorsko-pravnu zaštitu potrebno je da bude objavljeno. To znači da je na bilo koji način i bilo gde u svetu prvi put saopšteno javnosti od autora, odnosno lica koje je on ovlastio. Saopštavanje javnosti podrazumeva činjenje dela dostupnim većem broju lica koja nisu međusobno povezana rodbinskim ili drugim ličnim vezama, što znači da pokazivanje dela na slavi, rođendanu, žurki, krštenju ili parastosu nije saopštavanje javnosti. Nasuprot tome, javno objavljivanje na internetu, izložbi ili u vidu formalnog izdanja ispunjava ovaj zakonski uslov. Zakon (o autorskom i srodnim pravima) dalje navodi da je autorsko delo izdato kad su primerci dela pušteni u promet od strane autora, odnosno bilo kog lica koje je on ovlastio, u broju koji, imajući u vidu vrstu i prirodu dela, može da zadovolji potrebe javnosti. Delo likovne umetnosti se smatra izdatim i onda kad je originalni primerak, ili najmanje jedna kopija dela učinjena trajno pristupačnom javnosti od strane autora, odnosno lica sa njegovom dozvolom, i tako dalje. Kada se autorsko delo smatra „zaštićenim“ Autorsko delo je „zaštićeno“ samom njegovom objavom. Ukoliko ste se zapitali da li je tako jednostavno, odgovor je uprošćeno – da, iako postoje mnogi izuzeci. Ovde je ujedno i razlika između autorskog prava i drugih prava intelektualne svojine kao što su pravo žiga, industrijskog dizajna i drugih prava industrijske svojine jer potonji zahtevaju registraciju kod nadležnog organa, odnosno dobijanje upravnog rešenja kojim je zaštita potvrđena. Treba napomenuti da i neobjavljena dela uživaju autorsko-pravnu zaštitu ukoliko ispunjavanju zakonske uslove da budu autorsko delo. Iako nije nužno, moguće je autorsko delo deponovati kod nadležnog organa kako bi postojao jasan dokaz ko je autor dela što je zgodno ukoliko delo još niste objavili, ali tražite ko će to uraditi umesto vas. Međutim, ne treba se zavaravati da se radi o zaštiti dela ukoliko se radi o deponovanju. To je samo jedan od elemenata zaštite, konkretno dokazivanja u nekom budućem postupku prilikom povrede prava. Otud kod deponovanja dela deponent dobija potvrdu, a ne rešenje. Pre ustonovljavanja depoa, slično se ostvarivalo tako što je autor putem pošte sam sebi slao pošiljku sa svojim delom koju nije otvara sve dok nije bilo potrebno da se otvori u sudskom postupku prilikom izvođenja dokaza. Koja prava ima autor dela Kada nastane autorsko delo sa njim nastaju i prava autora na tom delu. Autor dela je nosilac autorskog prava, a ta prava su moralna i imovinska. Uživalac autorskih prava na delu, dakle autor je fizičko lice čije su ime, pseudonim ili znak naznačeni na primercima dela ili navedeni prilikom objavljivanja dela, osim ukoliko se ne dokaže drugačije. Pored autora nosilac autorskog prava može biti i lice koje nije autor, a koje je u skladu sa zakonom steklo autorsko pravo. Ukoliko je autorsko delo stvorilo više lica, radi se o koautorstvu, odnosno koautorima i svaki uživa ista prava u skladu sa svojim autorskim doprinosom. Moralna prava autora Moralna prava autora podrazumevaju sledeća prava: Pravo paterniteta, odnosno isključivo pravo autora da se autoru prizna autorstvo na njegovom delu odnosno kao što naziv kaže da se zna ko je otac dela, Pravo na naznačenje imena, odnosno isključivo pravo autora da njegovo ime, pseudonim ili znak budu naznačeni na svakom primerku dela, odnosno navedeni prilikom svakog javnog saopštavanja dela, izuzev ako je to, s obzirom na konkretni oblik javnog saopštavanja dela, tehnički nemoguće ili necelishodno, Pravo objavljivanja znači da autor ima isključivo pravo da objavi svoje delo i da odredi način na koji će se ono objaviti. To dalje znači da do objavljivanja dela samo autor ima isključivo pravo da javno daje obaveštenja o sadržini dela ili da opisuje svoje delo, Pravo na zaštitu integriteta dela, zvuči rogobatno, ali znači da autor ima isključivo pravo da štiti konačni oblik svog dela i to naročito da se suprotstavlja izmenama svog dela od strane neovlašćenih lica, da se suprotstavlja javnom saopštavanju svog dela u izmenjenoj ili nepotpunoj formi, vodeći računa o konkretnom tehničkom obliku saopštavanja dela i dobroj poslovnoj praksi i da daje dozvolu za preradu svog dela, Pravo na suprotstavljanje nedostojnom iskorišćavanju dela je isključivo pravo autora da se suprotstavlja iskorišćavanju svog dela na način koji ugrožava ili može ugroziti njegovu čast ili ugled. Plastično rečeno, ukoliko ste autor neke pesme, a ona se pušta na mitingu stranke koja nije vaša politička opcija, imate pravo da se suprotstavite takvoj vrsti iskorišćavanja vaše pesme. Kod moralnih prava autora bitno je istaći da su ona neprenosiva. Drugim rečima, ne možete na drugog preneti pravo da ste vi autor dela i slično. Imovinska prava autora Imovinska prava autora, kako im naziv govori, jesu prava ekonomske prirode. To znači da su to prava na osnovu kojih autor može zaraditi novac, odnosno da može ekonomski iskorišćavati delo. Za razliku od moralnih prava, imovinska prava autora su prenosiva na druge subjekte. Imovinska prava autora su sledeća: Pravo na umnožavanje dela, kojim pravom autor ima isključivo pravo da drugome dozvoli ili zabrani beleženje i umnožavanje svog dela u celosti ili delimično, bilo kojim sredstvima, u bilo kom obliku, na bilo koji trajni ili privremeni, posredni ili neposredni način, Pravo stavljanja primeraka dela u promet, znači da samo autor ima isključivo pravo da drugome zabrani ili dozvoli stavljanje u promet originala ili umnoženih primeraka svog dela, prodajom ili drugim načinom prenosa svojine, Pravo davanja primeraka dela u zakup, podrazumeva da isključivo autor ima pravo da drugome zabrani ili dozvoli davanje originala ili umnoženih primeraka svog dela u zakup, Pravo izvođenja - autor ima isključivo pravo da drugome zabrani ili dozvoli izvođenje svoga dela, Pravo predstavljanja, podrazumeva da samo autor ima isključivo pravo da drugome zabrani ili dozvoli predstavljanje svoga dela, što se odnosi uglavnom na scenska dela kao što su dramska, dramsko-muzička, koreografska, pantomimska dela koja nastaju uživo pred publikom, Pravo na prilagođavanje, aranžiranje i drugu izmenu dela, znači da autor ima isključivo pravo da drugome dozvoli ili zabrani prilagođavanje, prevođenje, aranžiranje i druge izmene dela, Pravo prenošenja izvođenja ili predstavljanja dela znači da autor ima isključivo pravo da drugome zabrani ili dozvoli prenošenje izvođenja ili predstavljanja svog dela u smislu kada se istovremeno javno saopštava delo, koje se izvodi ili predstavlja publici koja se nalazi izvan prostora u kome se delo izvodi ili predstavlja uživo, uz pomoć tehničkih uređaja kao što su zvučnik, odnosno ekran i zvučnik, Pravo emitovanja, podrazumeva da autor, odnosno nosilac autorskog prava ima isključivo pravo da dozvoli ili zabrani emitovanje svog autorskog dela u smislu emitovanja putem radija ili televizije, bilo kablovskim ili satelitskim putem, Pravo na javno saopštavanje, uključujući interaktivno činjenje dela dostupnim javnosti (streaming) znači da autor ima isključivo pravo da drugome zabrani ili dozvoli javno saopštavanje dela, uključujući činjenje dela dostupnim javnosti žičnim ili bežičnim putem na način koji omogućuje pojedincu individualni pristup delu sa mesta i u vreme koje on odabere, Takođe autor ima pravo na satelitsko emitovanje u Republici Srbiji, pravo reemitovanja i kablovskog reemitovanja, pravo javnog saopštavanja dela koje se emituje i pravo javnog saopštavanja dela sa nosača zvuka ili slike. Ukoliko ste autor, bez obzira na umetničku vrednost dela koje ste stvorili (new age rečnikom: kreirali) u zavisnosti od vrste dela uživate neka od navedenih prava. Na kraju treba istaći da iako autorska dela uživaju zaštitu kako je navedeno, ostvarivanje prava prilikom povrede je druga tema, a o njoj u jednom od narednih nastavaka.

Da ti ništa ne promakne

Ako želiš da ti stvarno ništa ne promakne, prijavi se jer šaljemo newsletter svake dve nedelje.