Tydzień 42

Jak skomplikować sobie życie? Wystarczy zrobić coś więcej niż proponuje wykładowca w trakcie kursu. W trakcie kursu Modern Java Script miałem zrobić prosty quiz w consoli, ale stwierdziłem, że jak mam robić quiz, to musi się on normalnie wyświetlać w przeglądarce. Finalnie to co miało mi zająć pół godziny, zajęło niemal 18 godzin.

Oczywiście nauczyłem się przy tym kilku nowych rzeczy, głównie związanych z logiką w Java Script. Dopóki skrypt wykonuje się raz na stronie, to nie napotykamy problemów związanych z obróbką i przechowywaniem danych pomiędzy przeładowaniami strony. Przy tej okazji pierwszy raz zatęskniłem za React.JS. Tam wszystkie elementy odświeżają się wielokrotnie na stronie i nie martwisz się o aktualność danych na których pracuje kod. W Vanilia JS komponenty nie aktualizują się dopóki nie przeładujesz strony. W związku z tym konieczne było wykorzystanie sessionStorage do trzymania gdzieś informacji na temat bieżącego wyniku i ilości zadanych pytań.

Kolejnym wyzwaniem w projekcie było zapewnienie, aby pytania w trakcie quizu nie powtarzały się. Niby prosta pętla sprawdzającą czy w obiekcie znajdują się już numer pytania, który chcemy zadać, ale finalnie trochę się namęczyłem z tym tematem. Kod trzeba było ustawić w pętli, żeby wykonywał się zawsze wtedy, kiedy pytanie się dubluje. Z drugiej strony potrzeba było zabezpieczyć kod przed wykonywaniem się bez końca. Ostatecznie wyszło to tak:

do{
    randomNumber = Math.round(Math.random() * 19);
    testValue = 0;
    for (i=0; i<questionStorageNbr.length; i++){
      if(randomNumber === questionStorageNbr[i]){
        testValue = -1;
      }
    }
    i += 1;
  } while (testValue < 0 && i < 10);
  questionStorageNbr.push(randomNumber);
  sessionStorage.setItem(“QuestionHistory”, questionStorageNbr);
}

Sporym wyzwaniem okazało się również przekazanie wartości z formularza do Java Script. Wcale nie dlatego, że to jakaś skomplikowana funkcja, ale głównie dlatego, że w internecie pełno jest sprzecznych ze sobą informacji na ten temat i musiałem kilka sposobów przetestować, żeby wyłonić ten, który działa:


let answerValue = document.querySelector(‘input[name=”answerX”]:checked’).value;
  if (answerValue == correctAnswerNumber){
    totalScore += 1;
    sessionStorage.setItem(‘SessionTotalScore’, totalScore);
    sessionStorage.setItem(‘TemporaryAnswer’, 1);
  }else{
    sessionStorage.setItem(‘TemporaryAnswer’, 0);
  }
});

Pod względem graficznym projekt nie jest skomplikowany i jedynym know-how jest użycie dodatkowej klasy w CSS ustawiającej właściwość display: none; w powiązaniu z kodem JS dodającym i usuwającym ta klasę z pliku css.

W tym tygodniu na programowaniu spędziłem w sumie 20 godzin, z czego 18 godzin zajęło mi przygotowanie quizu, który jest dostępny pod adresem: FrontendQuiz

No comments
Krzysztof NyrekTydzień 42
read more

Tydzień 38

Zakończyłem szkolenie WTF Co ten frontend. To chyba najważniejsze wydarzenie tego tygodnia. Grubo po terminie, za to zainspirowany i naprowadzony na wiele ciekawych wątków. Dzięki tematom poruszanym w ramach szkolenia WTF zanurzyłem się bardziej w CSS i JS. Próbowałem nawet Reacta, ale po trzech tygodniach uznałem, że za mało jeszcze wiem o JS.

No comments
Krzysztof NyrekTydzień 38
read more

Tydzień 36

Kolejny tydzień, kolejny projekt zakończony. Ten wymagał ode mnie prawdziwej gimnastyki umysłowej i wielu godzin pogłębiania wiedzy z JavaScript, ale ostatecznie udało się i aplikacja do liczenia wypitych szklanek wody działa.

No comments
Krzysztof NyrekTydzień 36
read more

Tydzień 35

Długie godziny w pociągu i masa czasu na napisanie aplikacji Pig Games. Mechanika gry nie była trudna do napisania, bo sama gra nie jest skomplikowana. Co innego przygotowanie wersji responsywnej i desktopowej. To zajęło zdecydowanie najwięcej czasu, ale satysfakcja jest pełna.

No comments
Krzysztof NyrekTydzień 35
read more

Tydzień 34

W tym tygodniu przede wszystkim pochłaniałem podstawy Java Script. Z pochłanianiem to chyba przesadziłem, bardziej powiedział bym przyswajałem. Podstawy i zrozumienie, jak działa kod jest ważne, ale nauka bez kodowania jest taka męcząca.

No comments
Krzysztof NyrekTydzień 34
read more

Tydzień 33

Hello Java Script, the most popular programing language in the IT word, according to GitHub news. Nie, blog nadal będzie w języku polskim i tak według najnowszych wyników badań opublikowanych przez GitHub, Java Script jest najczęściej wykorzystywanym językiem programowania na ten moment.

No comments
Krzysztof NyrekTydzień 33
read more