Java, PHP
Jeszcze jakiś czas temu certyfikaty SSL dla stron WWW były dość trudne we wdrożeniu i przede wszystkim kosztowne w utrzymaniu. W efekcie większość stron zwyczajnie rezygnowała z bezpiecznego połączenia htts i zostawała przy standardowym http. Z bezpiecznych połączeń przy pomocy certyfikatów SSL korzystały głównie duże serwisy, sklepy internetowe lub banki. Dzisiaj sytuacja znacząco się zmieniła, przede wszystkim za sprawą Google i Let’s Encrypt. Co to jest HTTPS i SSL/TLS? HTTPS (Hypertext Transfer Protocol Secure) to szyfrowana wersja standardowego protokołu HTTP przeznaczonego do przesyłania stron www.…
To już trzecia część cyklu StormSnapshot. W poprzednim wpisie kurs aplikacji mobilnych zebraliśmy podstawowe różnice między aplikacjami hybrydowymi a natywnymi oraz przedstawiliśmy argumenty przemawiające za każdym z tych rozwiązań. Dzisiaj zajmiemy się porównaniem najbardziej znanych frameworków mobilnych aplikacji hybrydowych. Co jest dla mnie najważniejsze? To zasadnicze pytanie z punktu widzenia tego porównania. Frameworków dla aplikacji mobilnych jest tak dużo, że musimy najpierw zastanowić się, na co zwrócić uwagę i jakie ich cechy są dla nas najważniejsze. Stos technologiczny Stos technologiczny, czyli to, z jakich technologi będziemy korzystać, jest niezwykle ważny.…
W poprzedniej części cyklu StormSnapshot zebraliśmy wymagania wobec naszej aplikacji. Dzisiaj chciałbym przedstawić Wam dylematy związane z tworzeniem aplikacji mobilnych. W kolejnych krokach zastanowimy się, na jakich technologiach oprzeć naszą aplikację. Co to jest aplikacja mobilna? Zacznijmy od prostej definicji. Aplikacja mobilna to oprogramowanie działające na urządzeniach przenośnych, czyli przede wszystkim na różnych smartfonach, czy tabletach. Aplikacje mobilne – od czego zacząć? Decydując się na programowanie aplikacji mobilnych, musisz dokonać wielu wyborów. Jedną z najważniejszych decyzji, jest wybranie obsługiwanych platform oraz język programowania i konkretne frameworki, przy…
Miło mi zaprezentować nową serię postów, która będzie prowadzona w ramach tego bloga. Seria StormSnapshot będzie pisana w formie kursu, a po każdym artykule będzie dostępna nowa wersja kodu do samodzielnej analizy. Na koniec powstanie w pełni funkcjonalna aplikacja. Spis treści1 Co to za aplikacja?2 Założenia projektowe2.1 Gotowy produkt2.2 Aplikacja mobilna2.3 Konkurs DSP2.4 Zmienność2.5 Forma wpisów2.6 Technologie3 Repozytorium projektu4 Podsumowanie5 Programista – Pytania rekrutacyjne Co to za aplikacja? StormSnapshot to aplikacja mobilna przetwarzająca video w czasie rzeczywistym. Aplikacja wprowadza filtry na obraz pobrany z kamery.
Jest to tekst z serii pytań i odpowiedzi na rozmowę kwalifikacyjną Developera. Pozostałe artykuły z tej serii to SQL oraz JavaScript. Zapraszam do dzielenia się swoimi pytaniami z rozmów kwalifikacyjnych tutaj w komentarzach lub na grupie. Co to jest leniwe (lazy loading) i zachłanne ładowanie danych (eager loading)? Lazy loading to wzorzec projektowy mający na celu odroczenie inicjalizacji obiektów najpóźniej jak to tylko możliwe, czyli dopiero aż będą potrzebne. Właściwie wykorzystany może przyczynić się do poprawy wydajności aplikacji. Jego przeciwieństwem jest zachłanne pobieranie danych (eager…
Jest to kolejna część z serii pytań i odpowiedzi na rozmowę kwalifikacyjną Java Developera – zakres JavaScript. Ich pełne zrozumienie powinno dać obraz podstawowych wymagań wobec developera, dla którego JavaScript jest dodatkowym językiem programowania. Zapraszam do dzielenia się swoimi pytaniami z rozmów kwalifikacyjnych tutaj w komentarzach lub na grupie. Co to jest scope? Zakres zmiennych w JavaScript Scope, czyli zakres zmiennych od ECMAScript 6 został dość mocno rozbudowany. Zakres poszczególnych zmiennych jest zależny od sposobu, w jaki zostaną zadeklarowane. let Przy pomocy słowa kluczowego let deklarujemy lokalne…
Zmienna tablicowa Tablica jest to specjalny typ zmiennej obiektowej, który służy jako kontener dla danych. Do poszczególnych danych w tablicy możemy odwoływać się za pomocą kluczy. Zazwyczaj ta struktura wykorzystywana jest do przechowywania większej ilości uporządkowanych danych. Przykładowo, zamiast definiować 100 zmiennych dla każdego użytkownika obsługiwanego przez aplikację, można zadeklarować tablicę przechowującą tych użytkowników. Takie rozwiązanie jest również bardziej uniwersalne, ponieważ chcąc dodać kolejnego użytkownika, wystarczy dodać nowy element do tablicy, zamiast deklarować kolejną zmienną. Deklaracja tablicy Chcąc zadeklarować nową tablicę, trzeba podać typ przechowywanych…
Jest to pierwsza część z serii pytań i odpowiedzi na rozmowę kwalifikacyjną Java Developera – zakres bazy danych SQL. Ich pełne zrozumienie powinno dać obraz podstawowych wymagań wobec developera, dla którego SQL jest dodatkowym językiem programowania. Zapraszam do dzielenia się swoimi pytaniami z rozmów kwalifikacyjnych tutaj w komentarzach lub na grupie. Co to jest indeks w bazach danych? Indeks to specjalna struktura danych mająca na celu zwiększenie prędkości wykonywania operacji na tabeli. Indeks w bazie danych można porównać do spisu treści w książce. Zamiast…
Konwersja typu (type conversion) Konwersja typu – jest to inaczej mówiąc zmiana, przekształcenie jednego typu w drugi. Dzięki niej jeden typ danych, np. liczba całkowita, jeżeli zajdzie taka potrzeba, może zostać potraktowany jako inny typ, np. liczba zmiennoprzecinkowa. Na poniższym przykładzie widać, jak dzieląc liczbę typu int na liczbę typu int, otrzymujemy wynik również w typie int. Jednak możemy go przypisać do typu double, dzięki niejawnej konwersji z typu int do double. [crayon-5bb9adf29520f234274568/] Taka konwersja może nastąpić tylko z typu węższego, do szerszego, czy np. z int do…
W ramach projektu StormIT postanowiłem stworzyć otwartą grupę na facebooku. Jaki jest cel grupy ułatwienie komunikacji między wszystkimi członkami społeczności zainteresowanymi szeroko rozumianym programowaniem wymiana doświadczeń programistycznych potrzebujesz pomocy w nauce programowania od podstaw? starasz się rozwiązać zagadkę wagi problemu milenijnego i nie masz kogo się poradzić? chcesz się pochwalić swoim cudownym projektem? a może zwyczajnie chcesz się wygadać, a nikt z bliskiego otoczenia nie chce już słuchać Twojego bełkotu programistycznego…? Jeżeli którakolwiek z tych kategorii pasuje do Ciebie – pisz śmiało. Czym ta…
Inkrementacja i dekrementacja to operacje powodujące odpowiednio zwiększenie lub zmniejszenie wartości podanego argumentu o jeden. Te dwa operatory wykorzystywane są bardzo często do skrócenia zapisu np. w pętlach. Post i pre – inkrementacja Inkrementacja zwiększa wartość zmiennej o jeden i występuje w dwóch formach: post i pre. Postinkrementacja najpierw zwraca wartość zmiennej, a dopiero potem ją modyfikuje; [crayon-5bb9adf295948393648380/] Powyższy kod wyświetli liczbę: 10, ale po jego wykonaniu zmienna będzie miała wartość = 11. Preinkrementacja najpierw modyfikuje wartość i dopiero wtedy ją zwraca. [crayon-5bb9adf29594f506774665/] Powyższy kod wyświetli…
Operatory relacyjne w Javie Operatory relacyjne służą do porównania ze sobą dwóch zmiennych lub literałów. == sprawdza równość wartości != różny >= większy, bądź równy większy < mniejszy Powyższe operatory zwracają wartość logiczną: true lub false. [crayon-5bb9adf295cd2470779420/] Przy porównaniach należy jednak pamiętać o typie porównywanych danych. Powinien on być taki sam dla obu argumentów lub ich typy powinny być ze sobą zgodne, przykładowo można porównać liczbę 2.5 typu float z liczbą 2 typu int, ale nie da się już…
Mimo iż singleton jest jednym z podstawowych wzorców projektowych, zdecydowana większość jego implementacji zawiera podstawowe błędy projektowe. Sam się przekonaj i sprawdź, czy dobrze to robisz. Zacznijmy jednak od drobnego wprowadzenia – zapoznaj się z podstawową definicją singletonu oraz poniższymi przykładami, jak można wykorzystać go w praktyce. Co to jest singleton? Singleton – to kreacyjny wzorzec projektowy, który ma na celu ograniczenie ilości tworzonych obiektów danej klasy tylko do jednej instancji. Wzorzec ten może być zastosowany wszędzie tam, gdzie chcemy przechować jeden spójny obiekt dostępny z wielu…
Operatory arytmetyczne to konstrukcje językowe umożliwiające wykonanie prostych operacji matematycznych, np. dodawanie. W Javie mamy do dyspozycji wszystkie podstawowe operatory matematyczne, jakie znamy chociażby z kalkulatora. Operatory matematyczne możemy podzielić na dwie główne grupy na podstawie liczby przyjmowanych argumentów: jedno i dwuargumentowe. Operatory jednoargumentowe – zmiana znaku liczby, czyli wyznaczenie liczby przeciwnej; ++ inkrementacja — dekrementacja [crayon-5bb9ad40d2e0c689218047/] Operatory dwuargumentowe + dodawanie; – odejmowanie; * mnożenie; / dzielenie; % operator modulo (reszta z dzielenia); [crayon-5bb9ad40d2e14272292351/] Kolejność wykonywania działań Podczas wykonywania operacji obowiązuje standardowa kolejność wykonywania działań, znana z…
Cześć. Witam Cię na blogu i cieszę się, że możemy się poznać. Jeżeli chcesz dowiedzieć się czegoś więcej na mój temat, zajrzyj na stronę o mnie. Blog, który właśnie przeglądasz, istnieje od końca 2016 roku i od tego czasu sukcesywnie staram go rozwijać, jednocześnie dzieląc się z Wami swoją wiedzą. Daje mi to ogromną radość i satysfakcję. Jestem również przekonany, że zebrane tu informacje pozwolą stać Ci się lepszym programistą. Myślisz o tym, żeby zacząć uczyć się programowania? Jeżeli dopiero zaczynasz swoją przygodę z programowaniem,…