Šta je novo?

Prvi programi aplikacije za Java programera, naucila sam Javu, kako samostalno da pocnem?

Bonita13

Zapažen
Učlanjen(a)
20.10.2023
Poruke
4
Poena
2
Naucila sam Javu koje aplikacije preporucujete za pocetnike. Koji su i kako da ih iskodiram.
 
Pozdrav. Cestitam na nacinjenom prvom koraku. Ideje za aplikacije za pocetnike ima puno, neke koje mogu da preporucim bi bile kalkulator, bilo sta sa bazom za cuvanje podataka(na primer notes), neka vrsta igrice(recimo uprosceni sah, samo sa pijunima) itd.

Zelim da podelim i ovaj websajt koji ima tonu malo apstraktnijih zadataka za vezbu, bas u javi.



Zelim puno srece u daljem putu razvijanja vestine programiranja. Najvaznije je raditi u kontinuitetu i istrajati kad se naidje na poteskoce.
 
Koje programe prave Junior programeri i sta rade na poslu.

Koliko samostalnih aplikacija treba da napravim da bih konkurisala za posao.
 
To sto si naucila (sintaksu, klase, nasledjivanja, data strukture) je bukvalno kao da si naucila azbuku od 5 slova.
Ne postoji plain java projekat, vec ces samo pisati java kod, a framework i primena (web, mobile...) ce se razlikovati zavisno od pozicije.
E to je sada sledeci korak.
Ovde ces naici u 99% slucajeva na oglase za backend java inzenjera.
Moze biti spring, spring boot, etc...
Tu sada krecu skroz drugi problemi, pored jave koja je samo osnova (10%) ostalo cine skroz druge stvari: poznavanje weba
(Serveri, protokoli, web klijenti, soketi, amazoni, kubernetesi, baze podataka (document based ili mozda sql), rest, security, arhitekture, testovi, etc. Kao i in depth poznavanje build sistema i kontejnera.
I in hand iskustvo kako da se sve primeni.
Mnogo je tesko buti junior sada...
Jer sve to treba da se savlada da na jednom projektu ne delujes ili se osecas kao da si pala sa marsa.
Ali dobro, to mozda i mimoidjes jer ce neko da izdvoji vremena da te tome nauci (nece se desiti)

Sa druge strane, ako je outsource prica, onda im mozda trebas samo da radis neke rudimentalne stvari ili da se "ucis" polako, jer klijent ima budzet za mediora pa ajd da ubace nekog (da te prodaju za mediora citaj)

I onda sto se tice firme, to je to
Ako isplivas sa svim tim loadom koji ce da te saceka, bravo za tebe, evo iedna povisica posle godinu dana (ako bude, jer ipak si ti pocetnik).
Ako ne, eto tebi otkaz, i traze sledeceg kandidata.

Tesko ces naci tutora u firmama, jer posao ne moze da stane (ljudi nece imati vremena da se posveti tebi), sto znaci da ces morati sama da ucis 100% vise nego do sada. Jer moras mnooogo da zapnes da dodjes na nivo gde tvoj rad van te konretno firme i projekta vredi išta...

Intervju ti nece biti problem, sada je problem da dodjes na intervju za juniora, jer takve pozicije nestaju zbog velikih otpustanja i previranja na trzistu.Treba prvo udomiti ovih par hiljada ljudi sto dobilo otkaze prosle godine, koji vec imaju iskustva, za razliku od tebe.
I takvi ce sigurno dobiti prednost.
A hiljade je trenutno u potraznji, to su ljudi sa iskustvom.
Na oglasu za moj tim, kada smo trazili coveka pre 3 meseca, stiglo je preko 100 prijava za 24 sata od kako je oglas postavljen. Pre par godina, za oglas za istu poziciju jedva da je stiglo 4,5 prijave za 3 meseca trajanja tog oglasa.

Sto znaci da je situacija uzasna i da je mnogo ljudi bez posla u it-u...
Ovo pricam da ne ocekujes previse u ovom trenutku, jer situacija moze da potraje neko vreme ...
 
I nauči koristiti git.
 
Nisam ocekivala da ce biti lako. Da li ima na internetu primer koda nekog programa, da pogledam. Da li je tesko napraviti program Vremenska prognoza za Beograd u nared nih 10 dana. Koju aplikaciju mogu da pogledam na netu da steknem uvid sta se sve pravi.
Da li je kalendar /rokovnik i spisak obaveza za odredjen datum dobra ideja za aplikaciju.
 
Poslednja izmena:
Tvoj najbolji "prijatelj" za dalje učečnje je ChatGPT. Posmatraj ga kao ličnog i personalnog asistenta koji ti je dostupan 24/7. Npr. tvoje pitanje za vremensku prognozu:

Ja koristim GPT4 ali verujem da će ti i besplatna verzija dati dobar odgovor.

Taklođe, uradi ovo kako bi odgovori bili precizniji:

 
Kad sam ti već dao primer, nisam ga testirao, sad sam to uradio i treba da uradiš sledeće:
  1. Registruj se besplatno na: https://home.openweathermap.org/
  2. Dobićeš poruku sa svojm API key, koji će biti aktivan tek nakon nekoliko sati: "Within the next couple of hours, it will be activated and ready to use", tako da ne mogu da proverim ispravnost istog.
  3. U kodu za urlString treba da napišeš koordinate, ne kako je GPT dao u svom primeru:
Java:
String urlString = "http://api.openweathermap.org/data/2.5/forecast/daily?lat=44.804&lon=20.4651&cnt=10&units=metric&appid=" + apiKey;

Ovaj sajt je zapravo veoma zanimljiv. :) Samo još da je API key besplatan (kako su i napisali) i možeš onda da proširiš primer i za ostale gradove:

 
Tvoj najbolji "prijatelj" za dalje učečnje je ChatGPT. Posmatraj ga kao ličnog i personalnog asistenta koji ti je dostupan 24/7. Npr. tvoje pitanje za vremensku prognozu:

Ja koristim GPT4 ali verujem da će ti i besplatna verzija dati dobar odgovor.

Taklođe, uradi ovo kako bi odgovori bili precizniji:


Ček gpt4 je takođe free ? Na ŝta si konkretno mislio da se plaća a da je dobro ?
 
Gpt4 je 20$ pretplata, Gpt3.5 je free.

Kad sam mislio da se plaća, mislio sam na API. Retko koji je besplatan, nema ni logike da ti daju free, a da ima full pristup podacima. Drugo su Open Data, npr. možeš da tražiš te podatke i oni su free.

 
Kako je ključ postao aktivan, sednem malopre da pogleam kod i naravno ne radi. Ograničenje je u free pristupu:

  • Hourly forecast: unavailable
  • Daily forecast: unavailable
  • Calls per minute: 60
  • 3 hour forecast: 5 days
Dakle, kod koji "završava posao" bi izgledao ovako:

Java:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.json.JSONArray;
import org.json.JSONObject;

public class VremenskaPrognoza {

    private static String apiKey = "--------------"; // Unesite vaš API ključ ovde

    public static void main(String[] args) {
        String urlString = "http://api.openweathermap.org/data/2.5/forecast?lat=44.804&lon=20.4651&cnt=10&units=metric&appid=" + apiKey;

        try {
            URL url = new URL(urlString);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            StringBuilder sb = new StringBuilder();
            String line;

            while ((line = rd.readLine()) != null) {
                sb.append(line);
            }

            rd.close();

            JSONObject jsonObject = new JSONObject(sb.toString());
            JSONArray jsonArray = jsonObject.getJSONArray("list");

            System.out.println("Vremenska prognoza za Beograd u narednih 10 perioda od 3 sata:\n");

            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject periodForecast = jsonArray.getJSONObject(i);
                JSONObject main = periodForecast.getJSONObject("main");

                System.out.println("Period " + (i + 1));
                System.out.println("Vreme: " + periodForecast.getString("dt_txt"));
                System.out.println("Minimalna temperatura: " + main.getDouble("temp_min") + " °C");
                System.out.println("Maksimalna temperatura: " + main.getDouble("temp_max") + " °C");
                System.out.println("------------------------");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

U konzoli se ispisuje:
Kod:
Vremenska prognoza za Beograd u narednih 10 perioda od 3 sata:

Period 1
Vreme: 2023-10-25 18:00:00
Minimalna temperatura: 18.28 °C
Maksimalna temperatura: 20.35 °C
------------------------
Period 2
Vreme: 2023-10-25 21:00:00
Minimalna temperatura: 18.46 °C
Maksimalna temperatura: 18.83 °C
------------------------
Period 3
Vreme: 2023-10-26 00:00:00
Minimalna temperatura: 17.43 °C
Maksimalna temperatura: 17.71 °C
------------------------
Period 4
Vreme: 2023-10-26 03:00:00
Minimalna temperatura: 16.98 °C
Maksimalna temperatura: 16.98 °C
------------------------
Period 5
Vreme: 2023-10-26 06:00:00
Minimalna temperatura: 17.55 °C
Maksimalna temperatura: 17.55 °C
------------------------
Period 6
Vreme: 2023-10-26 09:00:00
Minimalna temperatura: 21.83 °C
Maksimalna temperatura: 21.83 °C
------------------------
Period 7
Vreme: 2023-10-26 12:00:00
Minimalna temperatura: 24.2 °C
Maksimalna temperatura: 24.2 °C
------------------------
Period 8
Vreme: 2023-10-26 15:00:00
Minimalna temperatura: 22.11 °C
Maksimalna temperatura: 22.11 °C
------------------------
Period 9
Vreme: 2023-10-26 18:00:00
Minimalna temperatura: 20.43 °C
Maksimalna temperatura: 20.43 °C
------------------------
Period 10
Vreme: 2023-10-26 21:00:00
Minimalna temperatura: 19.72 °C
Maksimalna temperatura: 19.72 °C
------------------------

Process finished with exit code 0
 
Nisam ocekivala da ce biti lako. Da li ima na internetu primer koda nekog programa, da pogledam. Da li je tesko napraviti program Vremenska prognoza za Beograd u nared nih 10 dana. Koju aplikaciju mogu da pogledam na netu da steknem uvid sta se sve pravi.
Kao što su ti rekli, sledeći korak ti je Spring. Jedan od najpoznatijih spring projekata je Pet clinic - > https://github.com/spring-projects/spring-petclinic

Tu možeš da vidi kako jedan program izgleda.
Po uzoru na njega možeš da kreneš da praviš neki svoj projekat čisto za vežbu dok tražiš posao.

Da li je kalendar /rokovnik i spisak obaveza za odredjen datum dobra ideja za aplikaciju.

Jeste, sasvim ok ideja.
Moj savet ti je da se upoznaš sa osnovama HTML i CSS pa da napraviš i neki UI. Čisto da se vizualizuje sve to, a to će ti biti plus u traženju posla svakako.
 
Kako je ključ postao aktivan, sednem malopre da pogleam kod i naravno ne radi. Ograničenje je u free pristupu:

  • Hourly forecast: unavailable
  • Daily forecast: unavailable
  • Calls per minute: 60
  • 3 hour forecast: 5 days
Dakle, kod koji "završava posao" bi izgledao ovako:

Java:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.json.JSONArray;
import org.json.JSONObject;

public class VremenskaPrognoza {

    private static String apiKey = "--------------"; // Unesite vaš API ključ ovde

    public static void main(String[] args) {
        String urlString = "http://api.openweathermap.org/data/2.5/forecast?lat=44.804&lon=20.4651&cnt=10&units=metric&appid=" + apiKey;

        try {
            URL url = new URL(urlString);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            StringBuilder sb = new StringBuilder();
            String line;

            while ((line = rd.readLine()) != null) {
                sb.append(line);
            }

            rd.close();

            JSONObject jsonObject = new JSONObject(sb.toString());
            JSONArray jsonArray = jsonObject.getJSONArray("list");

            System.out.println("Vremenska prognoza za Beograd u narednih 10 perioda od 3 sata:\n");

            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject periodForecast = jsonArray.getJSONObject(i);
                JSONObject main = periodForecast.getJSONObject("main");

                System.out.println("Period " + (i + 1));
                System.out.println("Vreme: " + periodForecast.getString("dt_txt"));
                System.out.println("Minimalna temperatura: " + main.getDouble("temp_min") + " °C");
                System.out.println("Maksimalna temperatura: " + main.getDouble("temp_max") + " °C");
                System.out.println("------------------------");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

U konzoli se ispisuje:
Kod:
Vremenska prognoza za Beograd u narednih 10 perioda od 3 sata:

Period 1
Vreme: 2023-10-25 18:00:00
Minimalna temperatura: 18.28 °C
Maksimalna temperatura: 20.35 °C
------------------------
Period 2
Vreme: 2023-10-25 21:00:00
Minimalna temperatura: 18.46 °C
Maksimalna temperatura: 18.83 °C
------------------------
Period 3
Vreme: 2023-10-26 00:00:00
Minimalna temperatura: 17.43 °C
Maksimalna temperatura: 17.71 °C
------------------------
Period 4
Vreme: 2023-10-26 03:00:00
Minimalna temperatura: 16.98 °C
Maksimalna temperatura: 16.98 °C
------------------------
Period 5
Vreme: 2023-10-26 06:00:00
Minimalna temperatura: 17.55 °C
Maksimalna temperatura: 17.55 °C
------------------------
Period 6
Vreme: 2023-10-26 09:00:00
Minimalna temperatura: 21.83 °C
Maksimalna temperatura: 21.83 °C
------------------------
Period 7
Vreme: 2023-10-26 12:00:00
Minimalna temperatura: 24.2 °C
Maksimalna temperatura: 24.2 °C
------------------------
Period 8
Vreme: 2023-10-26 15:00:00
Minimalna temperatura: 22.11 °C
Maksimalna temperatura: 22.11 °C
------------------------
Period 9
Vreme: 2023-10-26 18:00:00
Minimalna temperatura: 20.43 °C
Maksimalna temperatura: 20.43 °C
------------------------
Period 10
Vreme: 2023-10-26 21:00:00
Minimalna temperatura: 19.72 °C
Maksimalna temperatura: 19.72 °C
------------------------

Process finished with exit code 0
Thanx
 
Nazad
Vrh Dno