Szok i niedowierzanie – czyli SowaProgramuje w finale Daj się Poznać!

DajSiePoznać - logo

Zupełnie się tego nie spodziewałam – SowaProgramuje jest w finałowej 25. najlepszych blogów tegorocznej edycji konkursu Daj się Poznać!

Dziękuję bardzo za to wyróżnienie! (blog został wybrany przez uczestników konkursu w zamkniętym głosowaniu). Ogromnie się cieszę i wiecie co? Mam teraz tyle pomysłów na kolejne posty! Zaczęłam je spisywać i zdecydowanie będę kontynuować pisanie. Możecie się spodziewać kolejnych ciekawych treści już niebawem 😉

Do 15.06 trwa kolejny etap, w którym każdy może głosować na swoich faworytów pod tym linkiem:

http://uczestnicy.dajsiepoznac.pl/ankieta

Wystarczy podać maila, wybrać minimalnie dwa, a maksymalnie 3 Twoim zdaniem najlepsze blogi oraz kliknąć linka potwierdzającego, który zostanie wysłany do Twojej skrzynki mailowej.

Tutaj jest lista blogerów, który zakwalifikowali się do finału. Serdecznie polecam ich eksplorację – to na prawdę perełki w śród konkursowych blogów. Z prawie 1000 zgłoszonych uczestników, zostało 178 blogerów, którym udało się sprostać wymaganiom konkursowym (minimum 20 postów + rozwijanie projektu open source w dowolnej technologii). Z tej puli zostali wybrani najlepsi – 25 osób – oto one:

Mateusz Kupilas: http://www.javadevmatt.pl/
Żaneta Jażdżyk: http://www.nettecode.com/
Mirosław Okoński: https://webmastah.pl
KrzaQ kq: https://dsp.krzaq.cc/
Michał Kortas: http://webroad.pl
Michał Gellert: https://www.michalgellert.pl/
Paulina Kaczmarek: http://paulinakaczmarek.wordpress.com
Rafał Hryniewski: http://hryniewski.net
Weronika Tobor: https://programmer-girl.com
Arkadiusz Benedykt: http://benedykt.net
Artur Dębkowski: http://ekhart.pl
Michał Chęciński: https://michalchecinski.pl/
Jakub Skałecki: http://rock-it.pl/
Piotr Wittchen: http://blog.wittchen.biz.pl/
Dawid Loranc:https://dloranc.github.io/
Michał Dymel: https://devblog.dymel.pl/
Marcin Lasak:http://blog.marlas.pl/
Mariusz Bugajski: http://blog.bugajsky.pl
Olga Stefaniuk: http://sowaprogramuje.pl 
Marcin Kruszyński: http://marcinkruszynski.blogspot.com/
Mateusz Książek: http://devenv.pl/
Sabina Piotrowska:http://mysifoto.pl/
Maciej Gajdzica: http://ucgosu.pl/
Kamil Dąbrowski:https://www.namekdev.net
Szymon Motyka: http://szymonmotyka.pl/tag/dsp/

Ogromne gratulacje dla wszystkich uczestników! Za tydzień z częścią z Was będę miała okazję się zobaczyć na Gali Finałowej konkursu! Już nie mogę się doczekać 🙂

CV juniora – czy wpisywać doświadczenie nie związane z branżą IT?

Wczoraj na facebookowej grupie Rozmowy rekrutacyjne IT padło takie pytanie:

Czy jeżeli aplikuje na pierwszy staż, to czy warto wpisywać w CV prace i doświadczenie nie związane z branżą IT ? Czy osoby rekrutujące raczej nie obchodzi takie doświadczenie nie związane bezpośrednio z IT?

Tak! tak! Jak najbardziej wpisywać!

Na stanowiskach nie związanych z IT uczymy się wielu potrzebnych umiejętności tj. praca w zespole, praca pod presją, organizacji pracy. Rekruterzy często też pytają o problemy jakie napotkałeś/napotkałaś w pracy i jak sobie z nimi poradziłeś/poradziłaś. Może też paść pytanie co nam przeszkadzało w poprzedniej pracy i czemu chcemy zmienić zawód. Wtedy bardzo ładnie możesz pokazać co ci się w programowaniu podoba i dlaczego warto wybrać akurat Ciebie na ten wymarzony staż.

Ktoś może zapytać: „A co jak pracowałem/pracowałam w call center / jako dostawca pizzy przez dwa miesiące; czy to też mam wpisać?”

Jeśli możesz się pochwalić pracą na innych, bardziej odpowiedzialnych stanowiskach oraz z dłuższym okresem zatrudnienia to nie ma sensu wpisywać takich pozycji. Wybierz te, o którymi Twoim zdaniem warto się pochwalić. 

Podsumowując:

Jeśli aplikujesz na staż/swoją pierwszą pracę w branży IT, ale masz doświadczenie na innych stanowiskach (nie związanych z branżą IT) to zdecydowanie należy wpisać je do swojego CV. Natomiast jeśli tych pozycji jest dużo to wyeksponuj te stanowiska, które dodały Ci najwięcej praktycznych umiejętności.

 

 

 

O co zapytać na rozmowie kwalifikacyjnej w branży IT?

rozmowa-kwalifikacyjna--IT-pytania

rozmowa-kwalifikacyjna--IT-pytaniaDwa lata temu pracowałam w firmie IT i byłam odpowiedzialna za head hunting oraz przeprowadzanie rozmów kwalifikacyjnych. Stąd przyszedł mi do głowy pomysł spisania najważniejszych pytań, które możemy zadać pracodawcy na rozmowie rekrutacyjnej, co pozwoli nam na lepsze poznanie i zrozumienie działania firmy. Na część pytań pracodawca lub osoba prowadząca rekrutację może opowiedzieć podczas prezencji firmy. Tej części rozmowy kwalifikacyjnej nie należy bagatelizować, ponieważ w ten sposób wykazujemy zainteresowanie daną firmą oraz możemy stwierdzić czy jej organizacja będzie odpowiadać naszej osobowości.

O co warto zapytać na rozmowie kwalifikacyjnej?

Pytania ogólne

  • Czy godziny pracy są elastyczne?
  • Czy chodzicie na jakieś wyjścia/wyjazdy integracyjne?
  • Czy istnieje możliwość pracy zdalnej?
  • Czy zdarzają się nadgodziny?
  • Czy jeździcie na jakieś konferencje (jako uczestniczy czy jako prelegenci)?
  • Czy jest kuchnia w biurze?
  • Jakie jest podejście do przerw na obiad?
  • Czy klienci są głównie z Polski czy z zagranicy?
  • Czy może się zdarzyć, że będę musiała/musiał jechać na delegacje do innego miasta/kraju? Na jak długo? Czy firma ponosi wtedy koszty transportu, zakwaterowania?
  • Czy będę pracować na firmowym sprzęcie? Jaki to sprzęt?
  • Jak wygląda proces wdrażania nowego pracownika?
  • Czy w firmie jest określony dress code?
  • Jakie są benefity dla pracowników? Multisport? Opieka medyczna? Nauka języków? Ekspres do kawy?
  • Jaki będę mieć wpływ na rozwój projektu? Czy będę tylko wykonawcą czy mieć koncepcyjny wpływ na projekt które powstaje?

Pytania o zespół

  • Ilu zatrudniacie programistów?
  • Jak duży jest jeden zespół?
  • Czy w zespole są kobiety?
  • Ile jest seniorów w zespole?
  • Czy to jest nowe stanowisko, czy poprzedni programista odszedł (dlaczego)?
  • Czy jest ktoś bardziej doświadczony ode mnie w firmie i czy będę mógł się go poradzić w razie problemów?
  • Czy cały zespół pracuje na miejscu w biurze czy część zespołu pracuje zdalnie?

Pytania techniczne

  • Jakie będą moje obowiązki?
  • Ile średnio jeden programista ma na raz projektów?
  • Jakie projekty są rozwijane: głównie nowe, czy utrzymanie starych?
  • Jak wygląda zarządzanie projektami w firmie?
  • Z jakich frameworków korzystacie?
  • Czy korzystacie z systemu kontroli wersji? Jakiego?
  • W jaki sposób zespół dba o jakość kodu?
  • Czy piszecie w projektach testy jednostkowe?
  • Czy programujecie używając metodyk TDD i BDD?
  • Czy stosujecie code rewiev?
  • Czy macie continuous integration?

Pytania na zakończenie rozmowy

  • Jakie formy współpracy preferujecie?
  • W przypadku umowy o dzieło i B2B – czy urlop/chorobowe są płatne?
  • Jakie są kolejne etapy rekrutacji, czy jest test albo dodatkowa rozmowa?
  • Kiedy dostanę odpowiedź w sprawie pracy?

Jeśli masz jeszcze jakieś sugestie innych pytań, które można zadać na rozmowie kwalifikacyjnej, to  koniecznie daj znać w komentarzu. Chętnie dopisze je do tej listy. 

Podziękowania dla Artura, Amadeusza i Dawida za sugestie fajnych pytań 🙂

Avocode – co to jest i czy warto korzystać?

Ostatnio spotkałam się ze sporym problemem. Designer mojego klienta dostarczył mi pliki, które zaprojektował w Sketchu, czyli aplikacji do projektowania graficznego na Macu. Przekopałam internet w celu znalezieniu sposobu na otworzenie tych plików graficznych na Ubuntu bądź na Windowsie. Generalnie było ciężko, dlatego znalazłam inne rozwiązanie – zdecydowałam się wypróbować Avocode.

Avocode jest zarówno aplikacją desktopową jak i webową. Pozwala na otwieranie plików zarówno w formacie PSD jak i tych stworzonych w Sketchu. Program ten jest dostępny na Maca, Windowsa i Linuxa.

avocode-screen
Avocode – widok głowny
avocode-screen
W górnym menu dostępne jest kilka narzędzi: Hand, Select, Measure, Color, Slice, Note

 

Dlaczego Avocode jest fajnym narzędziem?

Pozwala na eksportowanie warstw lub elementów (pojedynczo lub kilka na raz.) Mamy możliwość eksportu w formatach: SVG, PNG, JPG oraz WEBP.   Elementy zapisane w SVG możemy od razu skalować 2x, 3x lub 4x razy.

avocode-screen
Eksportowanie elementu w różnych formatach

 

Generuje gotowe kawałki kodu: CSS, Less, Sass, SCSS, Stylus, Swift, Android, CSS w JS i React Native. Mamy gotowe informacje min. na temat wysokości, szerokości elementu, czcionki i jej rozmiaru, kolorów; wszystko od razu z odpowiednimi jednostkami.  Wystarczy skopiować jednym kliknięciem i wkleić do swojego edytora.

avocode-screen
Kawałek kodu opisujący button w CSS
avocode-screen
Ten sam button opisany w innym języku

 

Umożliwia tworzenie zespołów i dzielenie się projektami graficznymi. Komunikacja jest ułatwiona dzięki możliwości dodawania komentarzy.

avocode-screen
Dodawanie komentarzy

 

Avocode umożliwia proste kopiowanie tekstu od razu jako element HTML bądź eksportowanie go jako JPG lub PNG. Wystarczy jedno kliknięcie i tekst jest gotowy do wklejenia do naszego edytora.

avocode-screen
Kopiowanie tekstu

 

Pozwala na definiowanie zmiennych – kolorów, czcionek, gradientów, rozmiarów i odległości. W ten sposób kopiowany kod z Avocode będzie od razu uwzględniał  i kopiował nasze zmienne. Jeszcze tego nie testowałam, ale wydaje się to ciekawa opcja.

Dodatkowo, podaje dokładne wymiary oraz położenie elementu. Wystarczy wybrać narzędzie Measure w górnym menu, najechać kursorem na dany element i dostajemy o nim pełen zestaw informacji, zarówno w odniesieniu do granic warstwy jak i innych elementów położonych na tej warstwie. W ten sposób Avocode pomaga w ustalaniu marginesów i paddingów.

avocode-screen

 

Avocode ma sporo zaawansowanych ustawień, które pozwalają dostosować to narzędzie do naszych potrzeb.

avocode-screen
W zaawansowanych ustawieniach możemy np. domyślny format kolorów
avocode-screen
W zaawansowanych ustawieniach możemy np. zmieniać domyślne jednostki

 

Dopiero zaczynam korzystać z tego narzędzia, ale uważam, że jest bardzo cenne, ułatwia i usprawnia kodowanie. Sama aplikacja jest dość intuicyjna, całkiem przyjemna w użytkowaniu. Nie jest idealna, ale ciągle jest usprawniana i dodawane są nowe funkcjonalności. Narzędzie jest płatne (po 14 dniowym trialu), można płacić miesięczną subskrypcję, którą można anulować w każdej chwili, bądź skorzystać ze zniżki na plan roczny.

avocode-pricing
Ceny w miesięcznym rozliczeniu

 

Mam nadzieję, że ten artykuł był pomocny. Daj znać czy korzystałeś/korzystałaś z tego narzędzia. A może znasz jakieś inne, ciekawe i konkurencyjne? Jeśli masz jakieś pytania zostaw komentarz! 🙂 

Projekt A/B testing – podsumowanie

Konkurs Daj się Poznać 2017 dobiega końca. Czas na małe podsumowanie.

Od marca tego roku rozwijałam projekt biblioteki do przeprowadzania testów A/B. Zdecydowałam się go napisać w JS, ponieważ chciałam lepiej poznać ten język. Projekt nie jest idealny i wymaga dalszych usprawnień. Kod można zobaczyć na moim GitHubie. W tym momencie nie nazwałabym tego jeszcze finalną wersją. Moim celem, który sobie założyłam na starcie tego konkursu było napisanie 20 postów, rozwijanie projektu przez minimum 10 tygodni oraz udział w gali finałowej w siedzibie firmy Microsoft w Warszawie. Dwa pierwsze warunki już spełniłam. Zgłosiłam się do wygłoszenia prezentacji na gali finałowej – z około 1000 uczestników konkursu tę szansę będzie miało tylko 13 osób. Trzymajcie kciuki, żeby się udało! 🙂

W czasie trwania konkursu:

  1. Byłam na dwóch konferencjach: programistycznej i UXowej
  2. Postawiłam środowisko deweloperskie od zera na dwóch laptopach, na dwóch różnych systemach operacyjnych – zyskałam większą pewność siebie
  3. Zapoznałam się z nowymi narzędziami: GitHub, Webpack, Gulp, Avocode, VS Code – zdobyłam nowe umiejętności
  4. Od 16 kwietnia mój blog miał 151 odsłon z 6 krajów – całkiem dobrze jak na raczkujący blog
  5. Pod jednym postem zgromadziłam komentarze od 5 osób – sukces!

Bardzo się cieszę, że wzięłam udział w tym konkursie. Myślę, że największym plusem tego konkursu jest to, że każdy może w nim wziąć udział, niezależnie od poziomu zaawansowania oraz od technologii w której pracuje/uczy się. Zdecydowanie polecam konkurs Daj się Poznać!  I mam nadzieję, że do zobaczenia w następnej edycji!

 

Projekt A/B testing – update

Po urlopowej przerwie czas na powrót do projektu. Teraz skupiam się głównie na udoskonalaniu kodu, który dotychczas napisałam.

Udało mi się z naprawić funkcję detectUserAgent(), która zwraca string z nazwą przeglądarki z której korzysta użytkownik. Sprawdzam czy jest to Chrome, Firefox, Opera, Edge czy Safari, a w pozostałych przypadkach zwracam string ‚unknown’. Wynik zapisuję w obiekcie z informacjami o użytkowniku.

W mojej bibliotece jest możliwość przeprowadzania testów AB na określonej przeglądarce. Wystarczy wpisać jako argument funkcji testOnParticularUserAgent() nazwę przeglądarki na której chcemy przeprowadzić test oraz nazwę funkcji, która ma zostać wykonana. Czyli np. testOnParticularUserAgent(chrome, testColor) – funkcja ta testuje tylko i wyłącznie na Chromie background color danego elementu.  Natomiast funkcja testColor() przymuje trzy argumenty: colorA, colorB i id elementó który chcemy testować.

Dodatkowo stworzyłam funkcję umożliwiającą wykonywanie testów na określonych rozdzielczościach ekranu.  testOnScreensBetweenWidths() przyjmuje trzy argumenty:  minimalną szerokość na której chcemy testować, maksymalną szerokość oraz jako trzeci argument wskazujemy funkcję, która ma zostać wykonana w razie spełnienia warunków.  W przypadku, gdy warunek nie jest spełniony, w local storage zapisuję informację w postaci stringa.

I jeszcze jedna ważna rzecz, czyli funckja eventLister(). Na każdym elemencie który jest testowany dodawany jest event listener, który informuje o tym czy ten element został kliknięty, a informacja o tym zapisywana jest w local storage.

W przyszłym tygodniu nadal namierzam udoskonalać mój kod. To jest mój 19. konkursowy wpis na moim blogu (w ramach konkursu DajSięPozać 2017). Jestem bardzo zadowolona, że wzięłam w nim udział i już prawie udało mi się spełnić wszystkie wymagania – czyli blogowanie i rozwijanie projektu przez min. 10 tygodni. Bardzo dużo się nauczyłam i dzięki temu zrobiłam postęp w nauce JSa i nie tylko. Była i jest to dla mnie spora motywacja. Wielkie dzięki dla organizatora konkursu Macieja Aniserowicza z bloga Devstyle. Na prawdę świetna inicjatywa! 

CodeEurope 2017 – konferencja programistyczna

W tą środę byłam na konferencji CodeEurope w Krakowie i chciałam się podzielić moimi wrażeniami.

Ogólnie muszę powiedzieć, że jestem zadowolona z udziału w tym wydarzeniu. Z konferencji było można na prawdę sporo wyciągnąć, myślę tutaj głównie nie pod kątem nauki programowania, ale raczej inspiracji, poszerzenia horyzontów, poznania nowych ludzi.

Było wiele wykładów z różnych dziedzin programowania, dlatego myślę, że każdy znalazł coś dla siebie. Do tego była możliwość udziału w warsztatach (rejestracja w dniu wydarzenia). Miejsca były ograniczone, więc trzeba było wcześniej zadbać o odebranie biletu.

Microsoft Cognitive Service

Mi najbardziej podobał się wykład pod tytułem „Keyboards? Where we’re going, we don’t need keyboards!”, wygłoszony przez pana: Don Wibier. Podczas prezentacji poruszane były tematy związane z mashine learning oraz sztucznej inteligencji. Prelegent pokazywał jak w prosty sposób można samemu korzystać z Microsoft Cognitive Service.  Okazuję się, że można założyć konto w tym serwisie i samemu poeksperymentować z ich API.  Nie trzeba mieć ogromnych umiejętności programistycznych, aby samodzielnie stworzyć narzędzie do bookowania lotów samolotowych przy pomocy poleceń głosowych! Koniecznie zerknij na stronę Language Understanding Intelligent Service (LUIS).  A tutaj jest krótkie wideo z ich strony, wyjaśniające jak to działa:

To co parę lat temu wydawało się skomplikowane i nie dostępne teraz staje się prostsze i będzie coraz bardziej popularne. Mogę powiedzieć,  jest to ciekawe narzędzie, ale sporo mu jeszcze brakuje do doskonałości. Tempo uczenia się maszyn jest bardzo szybkie, więc z miesiąca na miesiąc LUIS będzie działał coraz lepiej.

IoT Service Kit

Byłam również na warsztatach „Make the magic happen: the human part”, prowadzącymi byli: Dennis Schaaf i Ricardo Brito. Podczas warsztatów korzystaliśmy z bardzo ciekawego narzędzia, a właściwie to gry: IoT Service Kit pozwalającej na projektowanie interakcji ludzi (klientów) z IoT (Internet of Things). Sama koncepcja jest dość uniwersalna i polega na rozrysowaniu środowiska, stworzenie persony (przykładowego użytkownika usługi), przejściu przez ścieżkę, którą podąża klient, zauważeniu problemów jakie napotyka on po drodze oraz znalezienie rozwiązań problemów (może być przy pomocy IoT, ale nie musi). Mamy do tego różne karty, pionki, figurki które umożliwiają zobrazowanie powstawianych pomysłów. Głównym założeniem tej gry jest komunikacja ludzi z różnych branż, w celu przedyskutowania ciekawych rozwiązań i stworzenia lepszego user experience i przyciągnięcia większej ilości klientów. Pod spodem zamieszczam, krótką wideo prezentację tego produktu. Sam projekt jest open sourceowy i można go znaleźć na GitHubie tutaj.

Podsumowując, uważam, że warto było wziąć udział w konferencji Code Europe. Rezerwuj już teraz termin w swoim kalendarzu na rok 2018, może się spotkamy na tym wydarzeniu? Kto wie 😉 Jeśli masz jakieś pytania, zostaw komentarz.

 

Projekt AB Testing – ciąg dlaszy

W tym tygodniu, udało mi się dodać kawałki kodu, które zapisują wynik jednego testu w localStorage. Zapisuję czy test został wykonany, który element na stronie jest testowany oraz która z opcji została wylosowana. Dodatkowo, mam uniwersalną funkcję, która nasłuchuje na kliknięcia na elemencie o danym ID. Gdy dany element zostaje kliknięty, dodaję o tym informację w localStorage. Na poniższym screen shotcie, możemy zobaczyć wynik jednego z testów.

local-storage-ABtesting

Docelowo, funkcja testująca będzie egzekwowana tylko raz w jednej sesji. Dlatego, będę też musiała pobierać informacje z localStorage, gdy np. użytkownik zamknie kartę. W tym tygodniu zaczęłam pisać funkcję, która wykrywa przeglądarkę z której korzysta użytkownik strony. Wymaga ona jeszcze dopracowania. Dodatkow chcę napisać fukcję wykrywającą system operacyjny i zapisywać te wyniki w obiekcie z informacjami o użtykowniu. Będę to wykorzysywać do egzekwowania testów warunkowych.

 

Pytania techniczne na rozmowie na stanowisko Junior Frontend Developer

Pytania techniczne junior frontend developer

Pytania techniczne junior frontend developer

Pytania techniczne, które pojawiły się na moich rozmowach kwalifikacyjnych na stanowisko Junior Frontend Developer:

  • Rozwiń skrót HTML i CSS
  • Co to jest box model?
  • Jakie korzyści daje Sass?
  • Jaka jest różnica pomiędzy mixin a funkcją w Sass?
  • Czy w CSS są funkcje?
  • Do czego służy tag data w HTML?
  • Czym różni się null od undefined?
  • Czym się różni “==” i “===”?
  • Czy korzystałaś/korzystałeś z repozytorium?
  • Jak dostaniesz plik .psd to co robisz żeby zacząć pracę? Jak wygląda proces?
  • Co robimy z kodem przed wrzuceniem na produkcję?
  • Co to są pseudo selektory? Jakie znasz? Jakie dają możliwości
  • Z jakiego edytora korzystasz?
  • Czy korzystałaś/korzystałeś z task runnera?
  • Jakie znacz rodzaje display? Omów różnice
  • Czym różni się id od classy?
  • Czym różni się position relative od absolute?
  • Co to jest position fixed?
  • Czy miałaś/miałeś do czynienia z Wodrpressem?
  • Czy korzystałaś/korzystałeś z flexbox?
  • Jakie są różnice między Bootsrap 3 a 4?
  • Czy miałaś do czynienia z walidacją formularza?
  • Z jakich systemów operacyjnych korzystasz?
  • Jak wybrać jakiś element w jQuery?
  • Ile elementów może mieć taką samą klasę?
  • Jakich narzędzi używasz do debugowania kodu?
  • Jak wybrać w jQuery elementy input typu text?
  • Jak rozwiążesz konflikt powstały podczas mergowania branchów?
  • Czy znasz jakiś preprocesor HTMLa?
  • Co to są media
  • Co to jest W3C?
  • Co to jest branch?
  • Co to jest GIT?
  • Co to jest Gulp? Do czego służy?
  • Co to jest npm?  Do czego służy?
  • Co to jest JSON? Gdzie się z tego korzysta?
  • Co to jest API?
  • Co to jest AJAX?
  • Co to jest RWD?

Pytania z rozmowy ogólnej:

  • Nad jakimi projektami procowałaś? Jak to wyglądało?
  • W którą stronę chciałabyś się rozwijać jeśli chodzi o frontend dewelopment?
  • Czy pracowałaś/pracowałeś w zespole podczas projektu programistycznego?
  • Jak się uczyłaś/uczyłeś  programowania?
  • Czy byłaś/byłeś na jakiś kursach programistycznych?
  • Z jakich źródeł korzystasz?
  • Czy możesz się pochwalić swoimi projektami?
  • Wymień swoje trzy zalety
  • Jesteś ołówkiem, zostałaś/zostałeś wrzucony do wiadra z wodą, jak się wydostaniesz?

Uzyskiwanie infomracji o użytkowniku JS

W moim projekcie AB Testing udało mi się wprowadzić  funkcjonalność pozwalającą na zaciąganie danych o użytkowniku i jego przeglądarce. Nigdy wcześniej tego nie robiłam, dlatego wymagało to początkowego researchu. Wynik na razie loguję w konsoli w postaci obiektu. Dzięki temu możemy sprawdzić kiedy użytkownik otworzył naszą stronę, jaki jest jego język w przeglądarce oraz jakie wymiary ma jego okno przeglądarki. Możemy też sprawdzić z jakiej przeglądarki korzysta. Na razie sprawdzam czy jest to Chrome, Firefox czy Safari.

infomration about user

Dodatkowo mam już wstępną wersję funkcji, która pozwoli na losowanie testowanych elementów tylko raz w podczas jednej sesji, a nie na odświeżeniu karty. Z kolei informacje o kliknięciach będę musiała zapisywać w local storage, ponieważ te dane nie są usuwane po zamknięciu sesji. Pomyślałam, że fajna byłaby możliwość testowania pewnych elementów na stronie, jeśli zostanie spełniony określony warunek np. tylko na użytkownikach Androida, albo na użytkownikach, których ekran ma większą rozdzielczość niż X pixeli. Do tych celów będę korzystać z danych, które zaciągam o użytkowniku. Będzie to kolejna rzecz, którą chciałabym zrealizować w tym projekcie.