Showing posts with label radovanovic. Show all posts
Showing posts with label radovanovic. Show all posts

Wednesday, May 28, 2025

How to Write Your Own E-book?

Writing an e-book is a powerful way to share knowledge, tell a story, or build your brand. Whether you're an expert in a specific field, an educator, a blogger, or simply love to write, an e-book allows you to reach a worldwide audience. The motivation for writing an e-book can also serve as a substitute for the motivation to write a traditional book, potentially even stemming from a time before e-books existed. This is largely an individual matter. If you were to ask Manuel Radovanović what motivated him to write the e-book How to Become a Programmer and Never Give Up!Clean Code by Manuel Radovanović, it dates back to the late 1990s. He based his programming education and his own programming code on books written by the greatest programming experts.

Buying a programming book at a bookstore and completing all the programming exercises from it has become more of a tradition today. The reason is AI – Artificial Intelligence – which has changed how we learn and apply coding. But some habits never change. You might think that the mentioned e-book isn't a tutorial on how to learn a specific programming language, but it's much more than that. Download completely free of charge and read the book here. While it's increasingly easy to learn programming languages today, the key question is what to do with that knowledge. A second question is what would serve as your motivation to write an e-book. What story or knowledge do you wish to share with the world? And perhaps you'd also ponder, why an e-book, specifically.

A girl is writing an e-book on a tablet

A girl is writing an e-book on a tablet

Unlike printed books, you can create an e-book yourself without a publishing house, not to mention the financial costs. You need almost no material resources to write an e-book, provided you have a computer and an internet connection. You can use free tools for writing, designing, and distributing your e-book online. Unlike printed books, you don't pay for a publisher, printing, or delivery, which is also limited, especially if you consider print runs. Your e-book has no print run and can reach millions of readers, depending on how many people you interest in downloading it from the internet. Readers from any country can download the book instantly. There's no waiting for printing or delivery. With a good idea and motivation, you can write an e-book in just a few days.

Similarly, thanks to advanced technology and AI – Artificial Intelligence – you can now write your e-book in a foreign language without needing to hire translators. Your authorial control is much greater than when writing a printed book, as you decide on the content, design, price, and promotion method. Nothing depends on a publisher, editorial policy, or print run. You can also sell your e-book or offer it to websites that sell e-books. You can simply upload your e-book to platforms like Amazon or Gumroad, and it can generate income for months or years without additional work. However, you can also use it as a lead magnet, a gift for email subscribers, or part of a course. With your e-book, you simply increase your authority in the specific field you're writing about. It's all up to you.

What Are the First Steps in Writing an E-Book?

Saturday, December 14, 2024

How to Start Your Own Startup, Step by Step

Startups have become a global phenomenon transforming economies and societies worldwide. While they can be found in various shapes and sizes, there are certain common characteristics and challenges that startups face regardless of their geographic location. But what is a startup? A startup is an early-stage company that seeks to develop a sustainable business model. It is an innovative company based on a unique idea, product, or service, with the goal of rapid growth and expansion. It can be any entrepreneurial venture that involves a high level of innovation, a propensity for risk-taking, and an ambition for global success. Startups are the drivers of economic growth, creating new jobs, and changing the way we live. Startups are characterized primarily by innovation, often in terms of technology and business processes, although they are increasingly found in agriculture as well.

But the first thing you need to pay attention to is that startups are high-risk and constantly uncertain, primarily related to their success. Are you ready for such a risk? Although there are certain specificities, and launching startups can vary significantly depending on a country's regulations and interest in this type of business, startups worldwide share many commonalities. Startups across the globe strive to develop new technologies, products, or services that solve specific problems or simply improve existing solutions. Successful startups have the potential and tendency to grow rapidly and expand into the global market. Such startups place great importance on agility. Rapid adaptation and flexibility are key factors in adjusting to market changes and responding to user feedback.

From a good idea to a startup

From a good idea to a startup

Startups in smaller countries around the world have made significant strides in recent years. While market opportunities may not be as vast as in the United States, access to capital can be particularly challenging compared to Silicon Valley. However, local venture capital funds and support from international investors are increasingly emerging for these startups. Such startups often immediately target the global market, which is frequently their primary motivation. It is true that in many countries, regulatory challenges can be the biggest hurdle, although governments and many organizations are working to create a more favorable business environment. Incubators focus on education, while accelerators provide funding. An accelerator is an organization or program that helps young companies develop and grow rapidly. They typically offer mentorship, funding, training, workshops, and a network of contacts. Accelerators usually last for a few months and culminate in a Demo Day, where startups present their ideas to investors. Incubators, on the other hand, typically offer longer-term support and are ideal for entrepreneurs who want to build a solid foundation for their business.

Even in countries that are not yet part of the European Union, like Serbia, which has a very strong educational base, especially in STEM disciplines, there is a great deal of potential for startups. This provides a high-quality workforce for startups. One thing is certain, if you decide to start your startup anywhere in the world, don't do it alone. The first thing is that you need to be well-informed about everything, as laws and regulations in the startup world often change. It can easily happen that what was valid yesterday may not be today. That's why it's very important to seek appropriate support and a community for your idea. Take a good look around you or in the nearest larger city at the growing network of startup incubators, accelerators, and coworking spaces that provide great support to young entrepreneurs, but also pay attention to crowdfunding platforms. Pay attention to the development of European funds and initiatives such as Serbia Ventures, ICE Hub, Startit, and VentureX. A small country like Serbia is an ideal example of successful startups. In Serbia, you even have the Belgrade Venture Forum, and the state provides subsidies and support through initiatives such as Digital Serbia. Serbia has an excellent opportunity for global expansion, especially in the IT sector. Although investments in Serbia are much smaller, they are more numerous. Five small startups in Serbia are definitely SignAvatar, BiFrost, OutPost Chess, Remonte Santa, and Challenger. However, the most successful Serbian global startups are: Lead Delta with investments of 800,000 euros, Collabwriting 880,000 euros, Mily Technologies 1,000,000 euros, Motion Ops 1,200,000 euros, Ota Sync 1,300,000 euros, HireApp 1,500,000 dollars, Index Health 3,000,000 dollars, and Fuller Vision 4,000,000 dollars. 

Specifics of Global Startups: A Global Perspective

Thursday, November 28, 2024

Introduction to Working with Text Files in PHP, Reading and Writing

Working with text files in PHP is a fundamental yet crucial skill for any PHP developer. Files allow for the storage, reading, and management of data outside of an application's memory, which is essential for many applications, such as logging, storing configurations, or managing user data. This blog post provides a detailed introduction to the basics of working with text files in PHP, including reading, writing, and some advanced operations. Although databases are the predominant storage medium for data today, text files still hold their place in many applications. To proficiently work with text files in PHP, a solid grasp of fundamental concepts is essential. These include understanding file paths, which can be either relative or absolute, and file modes, which dictate whether you're reading, writing, or performing both actions on a file.

  • r - Read only. - Opens a file for reading only. Any attempt to write to the file will fail.
  • w - Write only. - Opens a file for writing only. If the file exists, it will be truncated (empty). If it doesn't exist, a new file will be created.
  • a - Append. - Opens a file for writing. Any data written will be placed at the end of the file. This is useful for adding new data to an existing file without overwriting the existing content.
  • r+ - Read and write. - Opens a file for both reading and writing. The file pointer will be positioned at the beginning of the file.

Programmers are pleasantly surprised by PHP's functions for reading and writing to text files

Programmers are pleasantly surprised by PHP's functions for reading and writing to text files

PHP offers several methods for reading content from text files. Some of the most commonly used methods include using the file_get_contents function which allows reading the entire file content in one go, using the fopen and fread functions which provide more control, especially when working with large files, and using the file function which loads the file as an array where each element is a line. Writing data to text files is a fundamental aspect of PHP programming. The file_put_contents function provides a straightforward way to write to a file, overwriting any existing content. For more granular control over the writing process, the fopen and fwrite functions offer greater flexibility. When appending data to an existing file, the FILE_APPEND mode should be used with file_put_contents.

It's essential to consider security when working with files, implementing measures such as file locking and input validation to prevent potential vulnerabilities. By mastering these concepts, you can effectively leverage file operations to manage data in your PHP applications. Working with text files in PHP is simple and efficient thanks to the built-in functions that the language provides. Whether you need to read data from a file, write logs, or even work with CSV format, PHP offers robust tools for these tasks. We hope our practical examples and tips will help you better understand and utilize the capabilities that PHP provides for working with text files. Let's move on to the practical part.

Efficient Management for Adding, Deleting, and Saving Items in an HTML List

Friday, November 22, 2024

Top 8 Types of Functions in PHP You Must Know

PHP is a powerful server-side scripting language offering a wide range of functions to facilitate various tasks. Functions in PHP are blocks of code that execute only when called. They can accept data, parameters as input, process it, and return an output using 'return' or simply execute code within the function without returning a value. Such functions are called void functions. If you use a function that PHP has already written for you, such as 'is_numeric' and many others, these are called built-in functions. If a function is located within a class, it is called a method. Regardless of whether you are working with built-in functions, writing your own, or using advanced concepts like closures, understanding functions is crucial for efficient PHP programming. Functions in PHP are a powerful tool that enables modularity, code reuse, and flexibility. You should use them whenever it makes sense in your code, while also professionally creating your own.

Many years ago, if you asked us how many types of functions there are, we would have thought about the basic division and answered four:

a function that takes no parameters and returns a value

a function that takes parameters and does not return a value

a function that takes no parameters but returns a value

a function that takes no parameters and do not return a value

Today, PHP has proven us wrong. There are many more types of functions in the PHP programming language, and today we will list the top 8 that you will often use in your projects.

The student is thrilled with exploring the capabilities of functions in PHP

The student is thrilled with exploring the capabilities of functions in PHP

To make things much clearer for you regarding the numerous functions in PHP, let's dive straight into the practical part when it comes to functions. This is the easiest way to go through and explain even 8 types of functions in the PHP programming language. Unlike previous lessons in this PHP tutorial, today we'll expand our PHP coding by using a CSS file in addition to Bootstrap. You might wonder why use CSS when you're using Bootstrap. The reason is simple. There are things in HTML and PHP coding that you can't always style using Bootstrap alone. So, for larger projects, you'll often find that CSS styling is used in addition to Bootstrap. Nowadays, there are systems that don't allow the use of Bootstrap for security reasons, they only use CSS, while we've never seen a project that prohibited the use of CSS. That's why you should always learn and know how to use HTML and CSS together with PHP. Our HTML & CSS tutorial will make it easier for you to learn or simply refresh your memory, click here.

Then we'll learn how to pass data from one PHP page with an HTML form to another PHP page for further processing. Also, since there are multiple functions, we'll place them in a separate PHP file and teach you how to connect PHP files, so that you have the impression that separate functions in another PHP file are available as if they were in the same one. This PHP lesson might sound a bit complicated, but let us reassure you by coding everything together, writing simple code that you can definitely use in your projects.

Choose the Right Function for the Job: 8 Function Types for Better Code

Wednesday, November 06, 2024

Step by Step, A Guide to Creating an Impressive Portfolio

Before you even consider why you should create a portfolio, you might want to familiarize yourself with what a portfolio is and the benefits it can bring. A portfolio is a collection of works, projects, achievements, and other relevant examples that showcase an individual's skills, knowledge, and experience. It's a visually rich and informative document, often available online, that allows employers, clients, or collaborators to gain a clear understanding of the competencies and working styles of the person presenting it. Unlike a CV or biography, which primarily list work experience, education, and basic information, and can be seen as a list of achievements, a portfolio provides concrete evidence of what a person can accomplish.

Many employers want to see examples of work, as this demonstrates practical abilities, not just theoretical knowledge. A portfolio allows individuals to directly show how they apply their knowledge in practice. Just as a designer showcases and describes their designs, and a photographer their photographs, a programmer can describe selected projects that are not under non-disclosure agreements. You can present, for example, what you are currently working on primarily for personal use or close friends, then select a few that you have worked on before and that have made the greatest impression on you.

Manuel Radovanović, Portfolio

Manuel Radovanović, Portfolio

Portfolios for programmers can offer numerous benefits depending on your specific field. Here are some key advantages:

Showcasing Skills and Projects

  • Allows potential employers or clients to see concrete examples of your work.
  • Highlights your technical skills and abilities.

Professional Branding

  • Builds a personal brand through a professional presentation of your work.
  • Helps create recognition within the industry.

Attracting Employers and Clients

  • Increases chances of employment or acquiring projects.
  • Demonstrates your initiative and dedication. 

Organization and Documentation

  • Systematically organizes and documents your work in one place.
  • Provides easy access to your work for reference or further development.

Showcasing Progress and Development

  • Illustrates your professional growth and progress over time.
  • Demonstrates continuous improvement and acquisition of new skills.

Networking

  • Enables connections with other professionals in the industry.
  • Can be shared on social media and professional platforms like LinkedIn, GitHub, etc.

Feedback and Validation

  • Provides an opportunity to receive feedback on your work.
  • Validation from peers and professionals can improve your portfolio.

Motivation and Self-Confidence

  • Helps boost self-confidence through visualization of achievements.
  • Can motivate you to set and achieve new goals.

SEO Benefits

  • If online, it can improve your personal SEO - Search Engine Optimization and make it easier for people to find you.

Education and Mentorship

  • Can be used as a tool for educating others and mentoring junior developers.
  • Enables sharing knowledge and experience

A Simple and Effective Guide to Creating Your Portfolio

Friday, September 29, 2023

NavBar u Django projektu, kako kreirati navigacioni meni koristeći Bootstrap?

Bez obzira na kakvom Django projektu hoćete da radite, malom ili velikom; jedna od bitni stavki je planiranje i kreiranje NavBar-a. NavBar je skraćenica od Navigation Bar – navigacioni meni; često u Srbiji to nazivamo i navigator ili navigacija. Navigacioni meni se uglavnom nalazi na vrhu veb stranice ili aplikacije. Njegova osnovna svrha je pružiti korisnicima brz i lak način za navigaciju kroz različite sekcije veb stranice ili aplikacije; kao što su početna stranica, kontakt forma, kategorije proizvoda ili usluga, ili bilo koja druga sekcija. Kroz navigacioni meni takođe routing – rutirate tj. usmeravate URL-oveDjango u aplikaciji. To vam pomaže da lako prelazite između različiti views – pogleda aplikacija ili veb stranica. Ako vaša Django aplikacija ima korisničke naloge i funkcionalnosti kao što su prijava, registracija ili upravljanje profilom, navigacioni meni može sadržavati i linkove prema tim opcijama. Međutim, obratite pažnju da navigacioni meni takođe igra ulogu u estetici i identitetu vaše veb stranice ili aplikacije. Dizajniranje i pravilno stilizovanje NavBar-a može doprineti prepoznatljivosti i atraktivnosti vašeg brenda. Zato kod kreiranja navigacionog menija takođe koristimo i Bootstrap, bez obzira što je stara praksa da navigacioni meni možete odraditi profesionalno koristeći samo HTML i CSS. Naravno, izbor je uvek na vama osim u slučajevima kad klijent ili kompanija striktno zahtevaju da se zaobiđe Bootstrap


( Kreiranje NavBar-a koristeći Boostrap u Django projektima ima i estesku vrednost )

Ali šta je to zaista Bootstrap? Bootstrap je takođe framework – razvojni okvir za kreiranje veb aplikacija i stranica baziran na HTML i CSS-uBootstrap nije zamena za CSS, nego pre bi smo rekli da je nadogradnja. Inače Bootstrap je nastao kao interni alat za razvoj na Twitter-u, a kasnije je postao dostupan kao open-source projekat. Bootstrap se prvi put pojavljuje dostupan svima 2011 godine i od tada je postao izuzetno popularan među veb developerima. Bootstrap pruža veliko olakšanje, ali i donosi sa sobom kompleksnost novih mogućnosti u veb razvoju; pružajući niz unapred definisanih stilova, komponenti i JavaScript funkcionalnosti koje olakšavaju dizajniranje i izradu responzivnih, atraktivnih i funkcionalnih veb stranica. Bootstrap se automatski prilagođava različitim veličinama ekrana, što je posebno važno za mobilne uređaje. On sadrži moćan grid sistem koji olakšava postavljanje rasporeda elemenata na stranici. Bootstrap dolazi sa gotovim stilovima za dugmad, forme, tipografiju, karte i mnoge druge komponente uključujući i navigacioni meni; stilove koje se često koriste na veb stranicama. Bootstrap takođe uključuje JavaScript komponente kao što su modalni prozori i mnoge druge koje se lako mogu integrisati u vašu veb aplikaciju ili stranicu. Ako se pitate da li je Bootstrap bolji od CSS stilizovanja, onda treba da razumete prednosti Bootstrap-a uključuju ubrzanje razvojnog procesa, konzistentnost dizajna i responzivnosti. Međutim, Bootstrap može biti pretežak za jednostavne projekte i može ograničavati kreativnu slobodu u dizajniranju. Na primer, pogledajte ovde ovaj jednostavan digitron rađen u JavaScript-u ovde. On se može kreirati i sa Bootstrap-om, ali je u ovom slučaju CSS bolje rešenje. Vi sami odličite kad vam je bolje da koristite jedno, kada drugo ili koristite obadvoje u vašim projektima.

Kako da kreiramo NavBar koristeći Bootstrap?

Saturday, April 22, 2023

Otkrijte zašto Google preferira Kotlin programski jezik za razvoj Android aplikacija

Prema podacima iz 2021 godine, Srbija ima relativno visok procenat korisnika pametnih telefona. Prema podacima portala Statista, procenat korisnika pametnih telefona u Srbiji iznosi oko 50%, što znači da polovina populacije koristi pametni telefon. Ipak, za Srbiju ne možemo reći da zaostaje po pitanju pametnih telefona od najnaprednijih zemalja iako je moguće da još uvek nemamo dostupnost baš svih određenih tehnologija i usluga, koje neke zemlje imaju. Nego se u Srbiji svaki dan sve više u širokoj meri koriste pametni telefoni uglavnom za pretraživanje Interneta, korišćenje društvenih mreža, slanje poruka, gledanje video zapisa itd. Isto tako, Android je najpopularniji mobilni operativni sistem u Srbiji, sa procenjenim udelom od oko 80-85% na tržištu mobilnih uređaja. Ali šta je to Android, što zaista znamo o njemu osim da ga većina korisnika koristi svakodnevno? Android je mobilni operativni sistem koji je razvio Google, zasnovan na Linux kernel-u i otvorenog koda. Android je dizajniran da radi na mobilnim uređajima kao što su pametni telefoni, tableti, pametni satovi, televizori i drugi slični uređaji. On omogućava razvoj aplikacija za ove uređaje i obezbeđuje infrastrukturu za njihovo izvršavanje. Android se prvi put pojavio na tržištu 23 septembra 2008 godine, kao konkurencija iOS-u od strane multinacionalne tehnološke kompanije Apple. Prvi uređaj koji je pokrenuo Android bio je HTC Dream, poznat i kao T-Mobile G1. Od tada, Android se razvio u jedan od najpopularnijih mobilnih operativnih sistema na svetu, sa preko 2,5 milijardi aktivnih uređaja širom sveta. Međutim, da li je to jedini razlog da je Android postao jedan on najpopularnijih platformi za programere? Naravno, da nije!


( Android platforma sve više privlači programere )

Postoji više razloga, zašto se veći broj programera okrenuo i posvetio Aplatformi i kodiranju Android aplikacija. Jedan od najbitnijih, jeste definitivno izuzetno veliki broj korisnika Android operativnog sistema, koji je definitivno i dalje u porastu. Međutim, Android je takođe otvorena platforma, što znači da je dostupan za besplatno korišćenje i modifikaciju. Ovo je privuklo mnoge programere koji žele da eksperimentišu i kreiraju nove aplikacije i funkcionalnosti za AndroidGoogle je obezbedio mnoge resurse i alate za programere koji rade na Android aplikacijama, uključujući dokumentaciju, vodiče, forume i razvojne alate. Jedan od njih je definitivno Android Studio, IDE - integrisano razvojno okruženje za programiranje Android aplikacija. Ovo je olakšalo razvoj aplikacija i smanjilo nivo složenosti za programere. Ali šta je sa monetizacijom, za programere u Srbiji; mogu li oni koristiti monetizaciju na Google Play Store? Tačno je da to nije pre bilo moguće, ali danas 2023 godine, programeri u Srbiji mogu koristiti monetizaciju na Google Play Store-uGoogle Play Store omogućava programerima iz više od 190 zemalja, uključujući Srbiju; da objavljuju i prodaju svoje aplikacije i igre, i da zarade novac od njih. Programeri mogu zaraditi novac na različite načine,  uključujući naplatu za preuzimanje aplikacije, prodaju unutar aplikacije, oglašavanje i pretplatu. Google Play Developer Console pruža programerima alate za upravljanje i praćenje prihoda, kao i statistiku preuzimanja aplikacija. Programeri iz Srbije takođe mogu koristiti AdMobGoogle-ovu platformu za oglašavanje u mobilnim aplikacijama, kako bi zaradili novac prikazujući oglase u svojim aplikacijama. Da li su ovi razlozi dovoljni, da možda čak i vi pređete na programiranje Android aplikacija? To zavisi isključivo od vas i vaših okolnosti, dok je naša preporuka definitivno DA!

Zašto Kotlin, zar se Android aplikacije ne programiraju u Java programskom jeziku?

Wednesday, March 09, 2016

Uvod u Advanced - naprednije C# tutorijale

Svakim danom tehnologija napreduje, jednostavno ona nikog ne čeka. To za posledicu ima da se čak i C# programski jezik u stručnim školama uči od osnovnih stvari i na najbrži način se prelazi sve opširnija i kompleksnija materija, koja u suštini iza vas ostavlja praznine i nejasnoće. Jednostavno mnogo bitne stvari se preskoče, neke se smatraju zastarelim dok se neke ne uklapaju u nastavni program zbog svoje kompleksnosti. Danas je jednostavno teško pronaći granicu gde početni nivo C#  programskog jezika počinje a gde se završava i prelazi u napredniji nivo. U većini slučajeva sva se materija stavi pod isti krov dok se podrazumeva da znate i one stvari za koje nikad niste ni čuli. Ali činjenica je da se bitne stvari preskaču. Da stvar bude zanimljivija mnogi studenti prestaju da prate nastavnu materiju u kontinuitetu jer im materija nije jasna. Jednostavno ne razumeju.


( C# 6.0 Advanced Tutorial )

Iz tog razloga, neophodno je pored progresa u učenju C# programskog jezika i kontinuiteta vraćati se unazad i često istraživati i po starijoj literaturi gradiva koja vam u edukaciji uopšte nisu prezentovana. Zato sam ja odlučio da Fundamentals – osnovne tutorijale prekinem kod indeksera, pokrenem Advanced – naprednije tutorijale i bukvalno vratim materiju unazad i iskopam ono što se u edukaciji retko i spominje. Inače, šta vam vredi samo ubrzano preći učenje preko listi, generika, rada sa datotekama, delegatima, događajima itd; ako vi ne znate ni šta je sklop niti kako vaša aplikacija uopšte radi. Ja sam tokom svog učenja C# programskog jezika uvek osećao tu neku prazninu i pokušavao sam pronaći odgovore učeći C++ programski jezik, čak i C programski jezik, ali odgovori nisu bili tu. Jednostavno, morate istražiti detaljno i jednom za sva vremena bukvalno imati pravu sliku i shvatiti kako detaljno šta radi u samom .Net Framework okruženju, čak i u Windows-u. To sad ne znači, da vi bukvalno trebate da naučite IL programski jezik, ali bar treba da čujete za alate Microsoft Visual Studio-a poput ildasm.exe, resedit.exe ili gacutil.exe i da znate zašto služe. Vi kasnije sami možete izučavati svaki alat kako vi želite, ali je bitno da razumete suštinu i tok svih procesa koje se odvijaju za vreme rada vaše aplikacije. Potrebno je da razumete i kako da pišete nebezbedni kod u Microsoft Visual Studio okruženju, kako da upravljate nitima, taskovima kako bi ste optimizovali vaše programe i desetine drugih stvari. Inače ja ne preporučujem ni da prelazite i pravite najbanalnije Windows Forms aplikacije dok ne shvatite u potpunosti sintaksu C# kod-a. Tek kad vam bude jasna sintaksa C# kod-a u potpunosti u svakom njegovom obliku, ma kako on bio isprepletan, kompleksan ili pojednostavljen lambda izrazima tek onda se možete posvetiti UI - User interface okruženjima.

Šta možemo da očekujemo u Advanced tutorijalima?