Cześć, od jakiegoś czasu tworzę repo które będzie skoncentrowaną dawką źródeł, materiałów do nauki oraz moimi przemyśleniami dt. drogi do pierwszej pracy w IT. Repo jest w fazie ewolucji dlatego jeszcze sporo treści będzie dopisane, pojawi się pewnie kącik z pytaniami rekrutacyjnymi, zadaniami rekrutacyjnymi oraz z polecanymi książkami. Jak uznasz, że jest to coś wartościowego zostaw gwiazdkę na github, będzie mi miło;)
https://github.com/s0bieskii/junior-java-guide
Contribute to s0bieskii/junior-java-guide development by creating an account on GitHub.
https://github.com/s0bieskii/junior-java-guideSpecjalnie dla javowców (i innych dziwnych ludzi używających java.util.collection
)
Włączacie video poniżej.
Zatrzymujecie sobie na czas zagadek i staracie się odpowiedzieć, bez zaglądania do dokumentacji i sprawdzania w IDE.
Jak macie więcej niż 40% błędnych odpowiedzi to zakaz korzystania z java.util.*
, Zresztą, wyjdzie wam to na dobre.
Możecie przećwiczyć w pracy na kolegach/koleżankach - zróbcie sobie sesje z tym wideo.
The Java Collections Framework is the most widely used API – probably in your application too. You use it all the time, but do you really know your way aroun...
https://www.youtube.com/watch?v=w6hhjg_gt_MNo i aplikacje też. Pamiętacie, jak odtwarzacze MP3 z czasem ewoluowały w odtwarzacze wszystkiego z opcją wypalania płyt? ;)
@jarekr000000: kazda dlugo zyjaca rzecz ma ten sam problem ;). @wartek01: chyba przespalem ten moment, zatrzymalem sie na tym ze mp4 i filmy szlo ogladac :D
Kiedyś chyba pisałem tu o koncepcji uproszczenia enkapsulacji w Javie poprzez klasę Property
zamiast tradycyjnych getterów i setterów. Dziś postanowiłem to zrealizować i mam już działającą implementację (w sumie to nie było nic skomplikowanego). Najpierw przykład użycia, potem wytłumaczę jak działa:
public class Osoba {
public final Property<String> imie;
public final Property<String> nazwisko;
public final Property<Integer> wiek;
public Osoba (String im, String nazw, int w) {
imie = new Property<String> (im, null);
nazwisko = new Property<String> (nazw, null);
wiek = new Property<Integer> (new Integer (w), null);
}
public static void main (String[] args) {
Osoba os = new Osoba ("Jan", "Kowalski", 20);
os.nazwisko.setValue ("Nowak");
System.out.println (os.imie.getValue() + " " +
os.nazwisko.getValue() + ", " +
os.wiek.getValue());
}
}
Jak widać, Property
jest klasą uogólnioną (generyczną), co zwalnia ze sprawdzania typów. Aby jej użycie miało sens, należy skorzystać z pól finalnych. Już teraz widać, że kod jest prostszy i bardziej logiczny niż gdybyśmy użyli getterów i setterów. Nie ma jednak nic za darmo. Zwróćcie uwagę na drugi argument konstruktora Property
- służy on do przekazania obiektu weryfikatora. Weryfikator jest odpowiedzialny za wszelaką kontrolę dostępu do właściwości. Brak weryfikatora - jak w przykładzie - oznacza możliwość przypisania dowolnej wartości, co zwykle nie jest dobre (z wyjątkiem składowych typu logicznego). Nad weryfikatorami jeszcze pracuję, więc nie mogę podać szczegółów.
C kontra Java - rzeczywistość
Słyszałem o jakichś porównaniach, że Java jest zła, bo Hello, world
zajmuje megabajty i to jakaś paranoja. Postanowiłem więc zrobić własne porównanie. Na początek napisałem dwa "hello worldy" w Javie i w C:
public class Hello
{
public static void main (String []args)
{
System.out.println ("Hello, world.");
}
}
#include <stdio.h>
main ()
{
puts ("Hello, world.");
}
Skompilowałem oba programy (za pomocą JDK 8 i TinyCC) i oto co się okazało - plik wykonywalny Javy nie zajmuje nawet 1KB, mniej niż PE:
2022-09-04 10:50 <DIR> .
2022-09-04 10:50 <DIR> ..
2022-09-04 10:49 62 hello.c
2022-09-04 10:50 417 Hello.class
2022-09-04 10:49 1 536 hello.exe
2022-09-04 10:52 120 Hello.java
4 plik(ów) 2 135 bajtów
2 katalog(ów) 19 344 674 816 bajtów wolnych
W piątek konferencja https://devoxx.com.ua/
Czyli devoxx ukraine 2022 - online, będzie niezła śmietanka prezenterów z całego świata (+ ja)
Zachęcam - do zapisywania i uczestnictwa.
@KamilAdam: a to żona nie może się pobyczyć sama nad morzem kiedy Ty będziesz marnował jej wczasy oglądając ekonfy?
scibi_92Osobiście ten HTML & CSS wywalił z nice to have - nigdy nie musiałem CSS używać, a na ogół w Javie są "czyści" backendowcy a nie jakieś fullstacki ;)