Java, Spring
System zarządzania pamięcią w Javie opiera się na dwóch konceptach: Stacku czyli Stosie oraz Heap, a więc Kopcu. Przyjrzyjmy się tym dwóm strukturom danych nieco bliżej. Stack i wątki W ramach działania aplikacji Javowej, począwszy od metody main, na Stacku (Stosie) pojawiają się jedna na drugiej ramki zawierające zmienne metod. Przestrzegają przy tym zasady LIFO (Last In, First Out). Gdy dana dana metoda zakończy swoje działanie, to jest automatycznie wypychana ze Stacka. Każdy wątek ma swój Thread Stack, na którym przechowywane ... Czytaj dalej...Heap, Stack i String Pool w Javie
Pola oraz metody typu static należą do klasy, a nie do jej danej instancji, czyli obiektu. Dane z nich zapisywane są do specjalnego miejsca w pamięci, a dokładnie do Permanent Generation (od Javy 8 jest to tzw. Metaspace) poprzez Class Loadera, który… wczytuje daną klasę. Dlatego też pierwszy kod, który wykonuje się w Javie pochodzi z bloków static. Najpierw klasa wczytywana jest do Class Loadera, a dopiero później jakiekolwiek obiekty tej klasy mogą zostać utworzone. I dopiero wtedy wykonywany jest ... Czytaj dalej...Słowo kluczowe Static w Javie
Jest nam bardzo miło poinformować, że jesteśmy partnerami katowickiego meetupu IT – Santa Cloud! Ale Santa Cloud to coś więcej niż zwykły meetup IT! Po raz piąty spotykamy się, aby wysłuchać inspirujących prelekcji i pomóc zwierzętom! W tym roku widzimy się 10 grudnia o 18:00 w Restauracji Królestwo w Katowicach. W programie blok prezentacji, występ magika, aukcja charytatywna i networking! Czekają na Was: Piotr Łój – Czy VR może wyrównywać szanse dla grup wykluczonych?” Gosia Bekas – “A gdyby Twój pies ... Czytaj dalej...Santa Cloud – więcej niż meetup IT!
Jednym z pytań pojawiających się podczas rozmowy kwalifikacyjnej na pozycje młodszego programisty jest to, o różnice pomiędzy działaniami słów kluczowych final i finally oraz metody finalize. Funkcjonalności te, wbrew pozorom, poza zbliżonymi nazwami nie mają ze sobą nic wspólnego. Na poniższym filmie omawiam działanie każdego z nich: Final jest słowem kluczowym, które użyte ze zmienną zamienia ją w stałą. Natomiast użyte wraz z metodą powoduje, iż nie można jej nadpisać. Można również wykorzystać je wraz z klasą – wówczas ... Czytaj dalej...Różnice pomiędzy final, finally, a finalize
Jednym z częstych pytań dla osób starających się o pozycję junior java developera jest pytanie o modyfikatory dostępu, jakie są dostępne w języku Java oraz jak zachowuję się domyślny z nich. W języku Java istnieją cztery modyfikatory dostępu (zwane również modyfikatorami widoczności). Każdy z nich określa czy dana klasa, metodą bądź pole klasy jest widoczne dla innych klas. W języku Java istnieją cztery poziomy, zaczynając od najszerszego są to – public, protected, default (package), private. Trzeba pamiętać, że choć modyfikatory ... Czytaj dalej...Modyfikatory dostępu w języku Java
Fasada jest jednym ze wzorców strukturalnych. Na pierwszy rzut oka może wydawać się podobna do wzorca Adapter, jednak różni je przeznaczenie. Celem wzorca Adapter jest modyfikacja danego interfejsu tak, aby dostosować go do potrzeb klienta. Natomiast celem Fasady jest zapewnienie klientowi uproszczonego interfejsu dla danego systemu lub jego podsystemów. Najczęstszym zadaniem Fasady jest zatem izolacja klienta od podsystemu, czyli wewnętrznych metod oraz logiki biznesowej. Jeśli więc klient ma nie mieć bezpośredniego dostępu do systemu lub podsystemów ze względu bezpieczeństwa, to ... Czytaj dalej...Wzorzec projektowy Fasada
Mocki to obiekty, które imitują zachowanie prawdziwych obiektów i prawdziwego kodu. Zadaniem programisty jest zaprogramowanie odpowiedniego działania mocka. Ten wpis jest drugą częścią miniserii o stubach oraz mockach. Poznamy w nim zalety stubów, a także ich ogólną charakterystykę i zastosowanie. Pod tym adresem znajdziesz część pierwszą, w której omawiane są stuby. Jak mocki, to Mockito Aby w ogóle móc skorzystać z obiektów mockowych, należy dodać do projektu zależność w postaci frameworka Mockito. Najlepiej ściągnąć najnowszą wersję, aktualnie jest to wersja 2.25. ... Czytaj dalej...Testy jednostkowe – Mocki
Stuby są wykorzystywane w sytuacji, gdy w testowanej klasie występują pewne zależności. Działanie tych zależności należy obsłużyć, ale problem pojawia się, jeśli nie mamy do nich lub do ich metod bezpośredniego dostępu. Właśnie w tych scenariuszach mogą nam pomóc stuby lub mocki. Ten wpis jest pierwszą częścią miniserii o stubach oraz mockach. Poznamy w nim wady oraz zalety stubów, a także ich ogólną charakterystykę i zastosowanie. W kolejnej części – za tydzień – bliżej przyjrzymy się mockom. Scenariusz testowy Naszą ... Czytaj dalej...Testy jednostkowe – Stuby
Właśnie opublikowaliśmy nasz trzeci wspólny kurs na platformie Udemy: Testy jednostkowe – JUnit 5 i Mockito 2 Testy jednostkowe są jedną z najważniejszych technik, które powinien znać każdy programista, niezależnie od języka w którym tworzy. Nasz kurs jest dedykowany wszystkim, którzy chcą zdobyć lub poszerzyć swoją wiedzę na temat testów jednostkowych, frameworków JUnit 5 oraz Mockito 2, testowania w metodyce Test Driven Development oraz najlepszych praktyk i konwencji w tworzeniu testów jednostkowych. W kursie dowiesz się między innymi: jak ... Czytaj dalej...Testy jednostkowe – JUnit 5 i Mockito 2 – nowy kurs!
JUnit jest najpopularniejszym frameworkiem (lub – jak kto woli – biblioteką) stosowaną przy tworzeniu testów jednostkowych w Javie. W jego nowej wersji – JUnicie 5, miejsce Rules oraz test runnerów zajął nowy koncept – Extension Model. Daje on bardzo duże możliwości oraz elastyczność, ale dzieje się to kosztem gotowej funkcjonalności, którą zapewniały Rules z JUnita 4. Jak to drzewiej bywało? W JUnicie 4 mieliśmy do dyspozycji test runnery oraz Rules. Test runnery odpowiadały za uruchamianie testów i jeśli nie określiliśmy tego ... Czytaj dalej...JUnit 5 – Extension Model
Typ Optional jest jednym z ciekawszych dodatków do Javy w ostatnich latach, jednak gdy chcemy użyć go jako typ pola dla encji (obiekt, którego stan przechowywany jest w bazie danych) to czeka nas nieprzyjemna niespodzianka zaserwowana przez Hibernate. Problem z typami opcjonalnymi Mając klasę @Entity public class Book { @Id private Integer id; private String title; private Optional publisher; public Book() { } public Book(Integer id, String title, Optional publisher) { this.id = id; this.title = title; this.publisher = publisher; ... Czytaj dalej...Praca z Optional w Hibernate
Jest nam bardzo miło poinformować, że jesteśmy partnerami oraz sponsorami nagród na tegorocznej edycji Krakowskiego Wykop Party! ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°) Impreza zaczyna się 23. lutego o godzinie 18:00 w krakowskim BarON przy ulicy Stefana Batorego 1. W imieniu organizatorów Krakowskiego Wykop Party 2019 – serdecznie zapraszamy, a wszystkim Mirkom i Mirabelkom życzymy udanej zabawy ( ͡° ͜ʖ ͡°) Na podanej stronie można znaleźć więcej szczegółów dotyczących imprezy: https://krakow2019.wykoparty.pl
Pracodawcy coraz częściej oferują możliwość pracy zdalnej, warto więc przyjrzeć się jej nieco bliżej. Od razu możemy wyjaśnić sobie jedną rzecz – jeśli nie jesteś gigantem skupienia, zapomnij o ikonicznych obrazkach z pracą na plaży. Aby efektywnie pracować jako programista potrzebujesz koncentracji, a żeby mózg mógł tego dokonać musimy minimalizować zewnętrzne bodźce . Woda po horyzont, szum morza, skrzek mew i spacerowicze – wszystko to będzie nam przeszkadzać. Jeśli chcesz prześledzić zmiany krok po kroku w formie wideo, to zapraszamy ... Czytaj dalej...Praca zdalna – wady i zalety
Właśnie opublikowaliśmy nasz drugi kurs na platformie Udemy: Rekrutacja na stanowisko programisty Jest on dedykowany wszystkim, którzy właśnie szukają pracy w zawodzie programisty! ? W kursie dowiesz się między innymi: jak wygląda cały proces rekrutacji na stanowisko programisty, jak stać się atrakcyjnym kandydatem na rynku pracy, jak stworzyć profesjonalne CV, jak negocjować stawkę wynagrodzenia z pracodawcą, jakie są zalety i wady pracy zdalnej, jak zaplanować naukę do rozmowy kwalifikacyjnej, jak podejść do rozwiązywania zadań technicznych, na co zwrócić uwagę ... Czytaj dalej...Rekrutacja na stanowisko programisty – nasz nowy kurs!
Jaki język programowania wybrać na początek? Od czego zacząć? Te pytania zadaje sobie każdy, kto chce wstąpić na ścieżkę programistyczną – niezależnie, czy jest to ktoś dopiero zaczynający swoją karierę na rynku pracy lub ktoś, kto chce się przebranżowić. Oczywiście takie pytania są zasadne, bo nikt nie chce tracić czasu na naukę czegoś, co ostatecznie okaże się niepotrzebne w docelowej pracy. Jeśli więc jesteś w jednej albo drugiej grupie osób, to nie martw się – w tym wpisie postaramy się ... Czytaj dalej...Jaki język programowania wybrać?
Java, Spring
Prowadzimy bloga oraz kanał YouTube poświęcone głównie programowaniu w Javie i Springu oraz ciekawostkom ze świata IT.
Naszym celem jest przekazywanie swojej wiedzy oraz umiejętności o programowaniu innym, chętnym do rozwoju Koleżankom i Kolegom po klawiaturze.
Jesteśmy również autorami kursów na platformie Udemy.